<?xml version="1.0"?>
<doc>
    <assembly>
        <name>System.Threading</name>
    </assembly>
    <members>
        <member name="T:System.Threading.Internal.Platform">
            <summary>
            Just a convenience class for some common logic.
            </summary>
        </member>
        <member name="M:System.Threading.Internal.Platform.Yield">
            <summary>
            Yields the current thread's timeslice.
            </summary>
        </member>
        <member name="P:System.Threading.Internal.Platform.ProcessorCount">
            <summary>
            Retrieves the number of processors.
            </summary>
        </member>
        <member name="P:System.Threading.Internal.Platform.IsSingleProcessor">
            <summary>
            Returns true if we're on a single processor machine.
            </summary>
        </member>
        <member name="T:System.Threading.Collections.ConcurrentStack`1">
            <summary>
            A stack that uses CAS operations internally to maintain thread-safety in a lock-free
            manner. Attempting to push or pop concurrently from the stack will not trigger waiting,
            although some optimistic concurrency and retry is used, possibly leading to lack of
            fairness and/or livelock. The stack uses spinning and backoff to add some randomization,
            in hopes of statistically decreasing the possibility of livelock.
            
            Note that we currently allocate a new node on every push. This avoids having to worry
            about potential ABA issues, since the CLR GC ensures that a memory address cannot be
            reused before all references to it have died.
            </summary>
            <typeparam name="T">The type of elements the stack will hold.</typeparam>
        </member>
        <member name="M:System.Threading.Collections.ConcurrentStack`1.#ctor">
            <summary>
            Constructs a new empty stack.
            </summary>
        </member>
        <member name="M:System.Threading.Collections.ConcurrentStack`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Constructs a new stack which has been initialized with the contents of the provided collection.
            </summary>
            <param name="collection">The collection whose contents are to be copied.</param>
            <exception cref="T:System.ArgumentNullException">If the collection is null.</exception>
        </member>
        <member name="M:System.Threading.Collections.ConcurrentStack`1.Clear">
            <summary>
            Clears the contents of the stack in a thread safe and lock free manner.
            </summary>
        </member>
        <member name="M:System.Threading.Collections.ConcurrentStack`1.CopyTo(System.Array,System.Int32)">
            <summary>
            Copies the contents of the stack to an array. This conceptually takes a copy of the stack
            at a point in time, and so it clearly may be out-of-date by the time the function returns.
            </summary>
            <param name="array">The array (of T[] or an assignable type) into which the stack's
            contents will be copied.</param>
            <param name="index">The index at which the copied elements will begin.</param>
            <exception cref="T:System.ArgumentException">If the array's type is incompatible with T.</exception>
            <exception cref="T:System.ArgumentException">If a multi-dimensional array is supplied.</exception>
            <exception cref="T:System.ArgumentException">If the array's lower bound is non-zero.</exception>
            <exception cref="T:System.ArgumentException">If there is insufficient space in the array.</exception>
            <exception cref="T:System.ArgumentNullException">If array is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">If index is not within range.</exception>
        </member>
        <member name="M:System.Threading.Collections.ConcurrentStack`1.Push(`0)">
            <summary>
            Pushes a node onto the front of the stack thread-safely. Internally, this simply
            swaps the current head pointer using a (thread safe) CAS operation to accomplish
            lock freedom. If the CAS fails, we add some back off to statistically decrease
            contention at the head, and then go back around and retry.
            </summary>
            <param name="item">The element to push.</param>
        </member>
        <member name="M:System.Threading.Collections.ConcurrentStack`1.TryPeek(`0@)">
            <summary>
            Peeks at the head of the stack and returns its value without modifying the stack.
            This is done thread-safely, although because the contents are not modified there is
            no guarantee that multiple threads will not see the same element or that the list
            has not been modified already.
            </summary>
            <param name="result">The element seen at the head of the stack.</param>
            <returns>True if the stack was non-empty, false otherwise.</returns>
        </member>
        <member name="M:System.Threading.Collections.ConcurrentStack`1.TryPop(`0@)">
            <summary>
            Tries to pop the node from the front of the stack. Internally, this is done
            thread-safely and uses a CAS operation to accomplish lock freedom.
            </summary>
            <param name="result">The element popped from the stack, or default(T) if empty.</param>
            <returns>True if an element was popped, false if the stack was empty.</returns>
        </member>
        <member name="M:System.Threading.Collections.ConcurrentStack`1.ToArray">
            <summary>
            Returns an array containing a snapshot of the stack's contents.
            </summary>
            <returns>An array of the stack's contents.</returns>
        </member>
        <member name="M:System.Threading.Collections.ConcurrentStack`1.ToList">
            <summary>
            Returns a list containing a snapshot of the stack's contents.
            </summary>
            <returns>A list of the stack's contents.</returns>
        </member>
        <member name="M:System.Threading.Collections.ConcurrentStack`1.GetEnumerator">
            <summary>
            Returns an enumerator for the stack. This effectively takes a snapshot
            of the stack's contents at the time of the call, i.e. subsequent modifications
            (pushes or pops) will not be reflected in the enumerator's contents.
            </summary>
            <returns>An enumerator for the stack.</returns>
        </member>
        <member name="P:System.Threading.Collections.ConcurrentStack`1.IsEmpty">
            <summary>
            Checks whether the stack is empty. Clearly the answer may be out of date even prior to
            the function returning (i.e. if another thread concurrently adds to the stack). It does
            guarantee, however, that, if another thread does not mutate the stack, a subsequent call
            to TryPop will return true -- i.e. it will also read the stack as non-empty.
            </summary>
        </member>
        <member name="P:System.Threading.Collections.ConcurrentStack`1.Count">
            <summary>
            Counts the number of entries in the stack. This is an O(n) operation. The answer may be out
            of date before returning, but guarantees to return a count that was once valid. Conceptually,
            the implementation snaps a copy of the list and then counts the entries, though physically
            this is not what actually happens.
            </summary>
        </member>
        <member name="P:System.Threading.Collections.ConcurrentStack`1.System#Collections#ICollection#IsSynchronized">
            <summary>
            Gets a value indicating whether access to this collection is synchronized. Always returns
            false. The reason is subtle. While access is in face thread safe, it's not the case that
            locking on the SyncRoot would have prevented concurrent pushes and pops, as this property
            would typically indicate; that's because we internally use CAS operations vs. true locks.
            </summary>
        </member>
        <member name="P:System.Threading.Collections.ConcurrentStack`1.System#Collections#ICollection#SyncRoot">
            <summary>
            Retrieves an object that can be used to synchronize access to the collection. Always
            returns null, since this is not synchronized in the classic sense.
            </summary>
        </member>
        <member name="T:System.Threading.Collections.ConcurrentStack`1.Node">
            <summary>
            A simple (internal) node type used to store elements of the stack.
            </summary>
        </member>
        <member name="M:System.Threading.Collections.ConcurrentStack`1.Node.#ctor(`0)">
            <summary>
            Constructs a new node with the specified value and no next node.
            </summary>
            <param name="value">The value of the node.</param>
        </member>
        <member name="T:System.Threading.Collections.SystemThreadingCollections_ConcurrentStackDebugView`1">
            <summary>
            A debugger view of the concurrent stack that makes it simple to browse the
            stack's contents at a point in time.
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:System.Threading.Collections.SystemThreadingCollections_ConcurrentStackDebugView`1.#ctor(System.Threading.Collections.ConcurrentStack{`0})">
            <summary>
            Constructs a new debugger view object for the provided stack object.
            </summary>
            <param name="stack">A stack to browse in the debugger.</param>
        </member>
        <member name="P:System.Threading.Collections.SystemThreadingCollections_ConcurrentStackDebugView`1.Items">
            <summary>
            Returns a snapshot of the underlying stack's elements.
            </summary>
        </member>
        <member name="T:System.Threading.CountdownEvent">
             <summary>
             CountdownEvent is a simple synchronization primitive used for fork/join
             parallelism. We create a latch with a count of N; threads then signal the latch,
             which decrements N by 1; other threads can wait on the latch at any point; when
             the latch count reaches 0, all threads are woken and subsequent waiters return
             without waiting.
            
             The implementation internally lazily creates a true Win32 event as needed. We
             also use some amount of spinning on MP machines before falling back to a wait.
             </summary>
        </member>
        <member name="M:System.Threading.CountdownEvent.#ctor(System.Int32)">
            <summary>
            Initializes a new event.
            </summary>
            <param name="count">The # of signals before the latch transitions to the signaled state</param>
            <exception cref="T:System.ArgumentOutOfRangeException">If count is less than zero.</exception>
        </member>
        <member name="M:System.Threading.CountdownEvent.Dispose">
            <summary>
            Gets rid of this latch's associated resources. This can consist of a Win32 event
            which is (lazily) allocated by the underlying thin event. This method is not safe to
            call concurrently -- i.e. a caller must coordinate to ensure only one thread is using
            the latch at the time of the call to Dispose.
            </summary>
        </member>
        <member name="M:System.Threading.CountdownEvent.Decrement">
            <summary>
            Registers a signal with the event. If this transitions the current count to 0, the
            latch state is set to signaled and any waiting threads are woken up.
            </summary>
            <returns>True if the latch became signaled, false otherwise.</returns>
            <exception cref="T:System.InvalidOperationException">If the latch is already signaled.</exception>
            <exception cref="T:System.OperationCanceledException">If the latch has been canceled.</exception>
        </member>
        <member name="M:System.Threading.CountdownEvent.Decrement(System.Int32)">
            <summary>
            Registers a certain number of signals with the event. If this transitions the current
            count to 0, the latch state is set to signaled and any waiting threads are woken up.
            </summary>
            <param name="count">The number of signals to register.</param>
            <returns>True if the latch became signaled, false otherwise.</returns>
            <exception cref="T:System.InvalidOperationException">If the latch is already signaled or the
            count specified would have brought the event's count below zero.</exception>
            <exception cref="T:System.OperationCanceledException">If the latch has been canceled.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">If count is less than zero.</exception>
        </member>
        <member name="M:System.Threading.CountdownEvent.Increment">
            <summary>
            Increments the latch's count by one.
            </summary>
            <exception cref="T:System.InvalidOperationException">If the latch is already signaled.</exception>
            <exception cref="T:System.OperationCanceledException">If the latch has been canceled.</exception>
        </member>
        <member name="M:System.Threading.CountdownEvent.Increment(System.Int32)">
            <summary>
            Increments the latch's count by a certain number.
            </summary>
            <param name="count">The number of signals to add to the latch.</param>
            <exception cref="T:System.InvalidOperationException">If the latch is already signaled.</exception>
            <exception cref="T:System.OperationCanceledException">If the latch has been canceled.</exception>
        </member>
        <member name="M:System.Threading.CountdownEvent.PossiblyThrowCanceledException">
            <summary>
            Throws an exception if the latch has been canceled.
            </summary>
        </member>
        <member name="M:System.Threading.CountdownEvent.Cancel">
            <summary>
            Cancels the latch by waking all threads.  They will throw an exception once they
            are unblocked. Subsequent attempts to wait will also throw an exception.
            </summary>
        </member>
        <member name="M:System.Threading.CountdownEvent.Cancel(System.Exception)">
            <summary>
            Cancels the latch by waking all threads.  They will throw an exception once they
            are unblocked. Subsequent attempts to wait will also throw an exception.
            </summary>
            <param name="exception">The exception to nest in the resulting cancelation exception.</param>
        </member>
        <member name="M:System.Threading.CountdownEvent.Reset">
            <summary>
            Resets the current count back to the original count and ensures the underlying event
            has been reset. The new count is equal to the count supplied originally at
            construction time. This is unsafe to call concurrently.
            </summary>
        </member>
        <member name="M:System.Threading.CountdownEvent.Reset(System.Int32)">
            <summary>
            Resets the current count to a specific count and ensures the underlying event
            has been reset. This is unsafe to call concurrently.
            </summary>
            <param name="count">The new count of the latch.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">If the count is less than zero.</exception>
        </member>
        <member name="M:System.Threading.CountdownEvent.Wait">
            <summary>
            Waits for the latch to transition to a signaled state, or returns right away if the
            latch has already been put into the signaled state. This API waits indefinitely.
            </summary>
            <exception cref="T:System.OperationCanceledException">If the latch was canceled.</exception>
        </member>
        <member name="M:System.Threading.CountdownEvent.Wait(System.TimeSpan)">
            <summary>
            Waits for the latch to transition to a signaled state, or returns right away if the
            latch has already been put into the signaled state.
            </summary>
            <param name="timeout">A timeout indicating the maximum amount of time to wait.</param>
            <returns>True if the return was due to a successful wait, false for timeout.</returns>
            <exception cref="T:System.OperationCanceledException">If the latch was canceled.</exception>
        </member>
        <member name="M:System.Threading.CountdownEvent.Wait(System.Int32)">
            <summary>
            Waits for the latch to transition to a signaled state, or returns right away if the
            latch has already been put into the signaled state.
            </summary>
            <param name="timeout">A timeout (in ms) indicating the maximum amount of time to wait.</param>
            <returns>True if the return was due to a successful wait, false for timeout.</returns>
            <exception cref="T:System.OperationCanceledException">If the latch was canceled.</exception>
        </member>
        <member name="P:System.Threading.CountdownEvent.CurrentCount">
            <summary>
            The number of signals remaining before the latch becomes signaled. If 0, the latch
            should already be in the signaled state.
            </summary>
        </member>
        <member name="P:System.Threading.CountdownEvent.InitialCount">
            <summary>
            The number of signals that this latch was constructed with.
            </summary>
        </member>
        <member name="P:System.Threading.CountdownEvent.IsSet">
            <summary>
            Whether or not the latch is in the signaled state.
            </summary>
        </member>
        <member name="P:System.Threading.CountdownEvent.IsCanceled">
            <summary>
            Whether or not the latch is in the canceled state.
            </summary>
        </member>
        <member name="P:System.Threading.CountdownEvent.WaitHandle">
            <summary>
            Returns a wait handle that can be used to wait on the latch.
            </summary>
        </member>
        <member name="P:System.Threading.CountdownEvent.Event">
            <summary>
            Accesses the event object used for waiting and signaling.
            </summary>
        </member>
        <member name="T:System.Threading.Parallel">
            <summary>
            Provides support for parallel loops and regions.
            </summary>
        </member>
        <member name="M:System.Threading.Parallel.Do(System.Action[])">
            <summary>
            Executes each of the provided actions inside a discrete, asynchronous task.
            </summary>
            <param name="actions">An array of actions to execute.</param>
            <remarks>
            The method does not return until each of the provided actions has completed, regardless of
            whether completion occurs due to normal or exceptional termination.
            </remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="actions"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="actions"/> array contains a null
            element.</exception>
            <exception cref="T:System.Threading.AggregateException">An action threw an exception.</exception>
        </member>
        <member name="M:System.Threading.Parallel.Do(System.Action[],System.Threading.Tasks.TaskManager,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Executes each of the provided actions inside a discrete, asynchronous task.
            </summary>
            <param name="actions">An array of actions to execute.</param>
            <param name="manager">The <see cref="T:System.Threading.Tasks.TaskManager"/> to use for
            execution.</param>
            <param name="options">The <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> to use for
            creating <see cref="T:System.Threading.Tasks.Task"/> instances in support of this method.</param>
            <remarks>
            The method does not return until each of the provided actions has completed, regardless of
            whether completion occurs due to normal or exceptional termination.
            </remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="actions"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="actions"/> array contains a null
            element.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="manager"/> argument is
            null.</exception>
            <exception cref="T:System.InvalidOperationException">The specified <see cref="T:System.Threading.Tasks.TaskManager"/>
            has been shutdown.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="options"/> argument
            specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.</exception>
            <exception cref="T:System.Threading.AggregateException">An action threw an exception.</exception>
        </member>
        <member name="M:System.Threading.Parallel.For(System.Int32,System.Int32,System.Action{System.Int32})">
            <summary>
            Executes a for loop in which iterations may run in parallel.
            </summary>
            <param name="fromInclusive">The start index, inclusive.</param>
            <param name="toExclusive">The end index, exclusive.</param>
            <param name="body">The body to be invoked for each iteration.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="body"/> argument is
            null.</exception>
            <exception cref="T:System.InvalidOperationException">The current <see
            cref="T:System.Threading.Tasks.TaskManager"/>
            has been shutdown.</exception>
            <exception cref="T:System.Threading.AggregateException">At least one invocation of the <paramref
            name="body"/> threw an exception.</exception>
        </member>
        <member name="M:System.Threading.Parallel.For(System.Int32,System.Int32,System.Int32,System.Action{System.Int32})">
            <summary>
            Executes a for loop in which iterations may run in parallel.
            </summary>
            <param name="fromInclusive">The start index, inclusive.</param>
            <param name="toExclusive">The end index, exclusive.</param>
            <param name="step">The amount by which the index will be incremented after each
            iteration.</param>
            <param name="body">The body to be invoked for each iteration.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="step"/> argument must
            be positive.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="body"/> argument is
            null.</exception>
            <exception cref="T:System.InvalidOperationException">The current <see
            cref="T:System.Threading.Tasks.TaskManager"/>
            has been shutdown.</exception>
            <remarks>
            The body delegate is provided with the iteration value as an argument.
            </remarks>
            <exception cref="T:System.Threading.AggregateException">At least one invocation of the <paramref
            name="body"/> threw an exception.</exception>
        </member>
        <member name="M:System.Threading.Parallel.For(System.Int32,System.Int32,System.Action{System.Int32,System.Threading.ParallelState})">
            <summary>
            Executes a for loop in which iterations may run in parallel.
            </summary>
            <param name="fromInclusive">The start index, inclusive.</param>
            <param name="toExclusive">The end index, exclusive.</param>
            <param name="body">The body to be invoked for each iteration.</param>
            <remarks>
            The body delegate is provided with the iteration value as an argument as well as with a
            <see cref="T:System.Threading.ParallelState"/> instance which may be used to stop the loop before
            all iterations have completed.
            </remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="body"/> argument is
            null.</exception>
            <exception cref="T:System.InvalidOperationException">The current <see cref="T:System.Threading.Tasks.TaskManager"/>
            has been shutdown.</exception>
            <exception cref="T:System.Threading.AggregateException">At least one invocation of the <paramref name="body"/> threw an exception.</exception>
        </member>
        <member name="M:System.Threading.Parallel.For(System.Int32,System.Int32,System.Int32,System.Action{System.Int32,System.Threading.ParallelState})">
            <summary>
            Executes a for loop in which iterations may run in parallel.
            </summary>
            <param name="fromInclusive">The start index, inclusive.</param>
            <param name="toExclusive">The end index, exclusive.</param>
            <param name="step">The amount by which the index will be incremented after each
            iteration.</param>
            <param name="body">The body to be invoked for each iteration.</param>
            <remarks>
            The body delegate is provided with the iteration value as an argument as well as with a
            <see cref="T:System.Threading.ParallelState"/> instance which may be used to stop the loop before
            all iterations have completed.
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="step"/> argument must
            be positive.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="body"/> argument is
            null.</exception>
            <exception cref="T:System.InvalidOperationException">The current <see cref="T:System.Threading.Tasks.TaskManager"/>
            has been shutdown.</exception>
            <exception cref="T:System.Threading.AggregateException">At least one invocation of the <paramref name="body"/> threw an exception.</exception>
        </member>
        <member name="M:System.Threading.Parallel.For``1(System.Int32,System.Int32,System.Func{``0},System.Action{System.Int32,System.Threading.ParallelState{``0}})">
            <summary>
            Executes a for loop in which iterations may run in parallel.
            </summary>
            <typeparam name="TLocal">The type of thread-local data that will be used.</typeparam>
            <param name="fromInclusive">The start index, inclusive.</param>
            <param name="toExclusive">The end index, exclusive.</param>
            <param name="threadLocalSelector">A function that generates thread-local data. This data is
            provided to the body through a <see cref="T:System.Threading.ParallelState`1"/>
            instance.</param>
            <param name="body">The body to be invoked for each iteration.</param>
            <remarks>
            The body delegate is provided with the iteration value as an argument as well as with a
            <see cref="T:System.Threading.ParallelState`1"/> instance which may be used to stop the loop
            before all iterations have completed. It may also be used to store per-thread data to avoid
            synchronization overhead in the loop body.
            </remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="body"/> argument is
            null.</exception>
            <exception cref="T:System.InvalidOperationException">The current <see cref="T:System.Threading.Tasks.TaskManager"/>
            has been shutdown.</exception>
            <exception cref="T:System.Threading.AggregateException">At least one invocation of the <paramref name="threadLocalSelector"/> or the <paramref name="body"/> threw an exception.</exception>
        </member>
        <member name="M:System.Threading.Parallel.For``1(System.Int32,System.Int32,System.Func{``0},System.Action{System.Int32,System.Threading.ParallelState{``0}},System.Action{``0})">
            <summary>
            Executes a for loop in which iterations may run in parallel.
            </summary>
            <typeparam name="TLocal">The type of thread-local data that will be used.</typeparam>
            <param name="fromInclusive">The start index, inclusive.</param>
            <param name="toExclusive">The end index, exclusive.</param>
            <param name="threadLocalSelector">A function that generates thread-local data. This data is
            provided to the body through a <see cref="T:System.Threading.ParallelState`1"/>
            instance.</param>
            <param name="body">The body to be invoked for each iteration.</param>
            <param name="threadLocalCleanup">An action that cleans up the thread-local data.</param>
            <remarks>
            The body delegate is provided with the iteration value as an argument as well as with a
            <see cref="T:System.Threading.ParallelState`1"/> instance which may be used to stop the loop
            before all iterations have completed. It may also be used to store per-thread data to avoid
            synchronization overhead in the loop body.
            </remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="body"/> argument is
            null.</exception>
            <exception cref="T:System.InvalidOperationException">The current <see cref="T:System.Threading.Tasks.TaskManager"/>
            has been shutdown.</exception>
            <exception cref="T:System.Threading.AggregateException">At least one invocation of the <paramref name="threadLocalSelector"/>, the <paramref name="body"/>, or the <paramref name="threadLocalCleanup"/> threw an exception.</exception>
        </member>
        <member name="M:System.Threading.Parallel.For``1(System.Int32,System.Int32,System.Int32,System.Func{``0},System.Action{System.Int32,System.Threading.ParallelState{``0}})">
            <summary>
            Executes a for loop in which iterations may run in parallel.
            </summary>
            <typeparam name="TLocal">The type of thread-local data that will be used.</typeparam>
            <param name="fromInclusive">The start index, inclusive.</param>
            <param name="toExclusive">The end index, exclusive.</param>
            <param name="threadLocalSelector">A function that generates thread-local data. This data is
            provided to the body through a <see cref="T:System.Threading.ParallelState`1"/>
            instance.</param>
            <param name="step">The amount by which the index will be incremented after each
            iteration.</param>
            <param name="body">The body to be invoked for each iteration.</param>
            <remarks>
            The body delegate is provided with the iteration value as an argument as well as with a
            <see cref="T:System.Threading.ParallelState`1"/> instance which may be used to stop the loop
            before all iterations have completed. It may also be used to store per-thread data to avoid
            synchronization overhead in the loop body.
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="step"/> argument must
            be positive.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="body"/> argument is
            null.</exception>
            <exception cref="T:System.InvalidOperationException">The current <see cref="T:System.Threading.Tasks.TaskManager"/>
            has been shutdown.</exception>
            <exception cref="T:System.Threading.AggregateException">At least one invocation of the <paramref name="threadLocalSelector"/> or the <paramref name="body"/> threw an exception.</exception>
        </member>
        <member name="M:System.Threading.Parallel.For``1(System.Int32,System.Int32,System.Int32,System.Func{``0},System.Action{System.Int32,System.Threading.ParallelState{``0}},System.Action{``0})">
            <summary>
            Executes a for loop in which iterations may run in parallel.
            </summary>
            <typeparam name="TLocal">The type of thread-local data that will be used.</typeparam>
            <param name="fromInclusive">The start index, inclusive.</param>
            <param name="toExclusive">The end index, exclusive.</param>
            <param name="threadLocalSelector">A function that generates thread-local data. This data is
            provided to the body through a <see cref="T:System.Threading.ParallelState`1"/>
            instance.</param>
            <param name="step">The amount by which the index will be incremented after each
            iteration.</param>
            <param name="body">The body to be invoked for each iteration.</param>
            <param name="threadLocalCleanup">An action that cleans up the thread-local data.</param>
            <remarks>
            The body delegate is provided with the iteration value as an argument as well as with a
            <see cref="T:System.Threading.ParallelState`1"/> instance which may be used to stop the loop
            before all iterations have completed. It may also be used to store per-thread data to avoid
            synchronization overhead in the loop body.
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="step"/> argument must
            be positive.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="body"/> argument is
            null.</exception>
            <exception cref="T:System.InvalidOperationException">The current <see cref="T:System.Threading.Tasks.TaskManager"/>
            has been shutdown.</exception>
            <exception cref="T:System.Threading.AggregateException">At least one invocation of the <paramref name="threadLocalSelector"/>, the <paramref name="body"/>, or the <paramref name="threadLocalCleanup"/> threw an exception.</exception>
        </member>
        <member name="M:System.Threading.Parallel.For``1(System.Int32,System.Int32,System.Int32,System.Func{``0},System.Action{System.Int32,System.Threading.ParallelState{``0}},System.Action{``0},System.Threading.Tasks.TaskManager,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Executes a for loop in which iterations may run in parallel.
            </summary>
            <typeparam name="TLocal">The type of thread-local data that will be used.</typeparam>
            <param name="fromInclusive">The start index, inclusive.</param>
            <param name="toExclusive">The end index, exclusive.</param>
            <param name="threadLocalSelector">A function that generates thread-local data. This data is
            provided to the body through a <see cref="T:System.Threading.ParallelState`1"/>
            instance.</param>
            <param name="step">The amount by which the index will be incremented after each
            iteration.</param>
            <param name="body">The body to be invoked for each iteration.</param>
            <param name="threadLocalCleanup">An action that cleans up the thread-local data.</param>
            <param name="manager">The <see cref="T:System.Threading.Tasks.TaskManager"/> to use for
            execution.</param>
            <param name="options">The <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> to use for
            creating <see cref="T:System.Threading.Tasks.Task"/> instances in support of this method.</param>
            <remarks>
            The body delegate is provided with the iteration value as an argument as well as with a
            <see cref="T:System.Threading.ParallelState`1"/> instance which may be used to stop the loop
            before all iterations have completed. It may also be used to store per-thread data to avoid
            synchronization overhead in the loop body.
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="step"/> argument must
            be positive.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="body"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="manager"/> argument is
            null.</exception>
            <exception cref="T:System.InvalidOperationException">The specified <see cref="T:System.Threading.Tasks.TaskManager"/>
            has been shutdown.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="options"/> argument
            specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.</exception>
            <exception cref="T:System.Threading.AggregateException">At least one invocation of the <paramref name="threadLocalSelector"/>, the <paramref name="body"/>, or the <paramref name="threadLocalCleanup"/> threw an exception.</exception>
        </member>
        <member name="M:System.Threading.Parallel.ForWorker``1(System.Int32,System.Int32,System.Int32,System.Action{System.Int32},System.Action{System.Int32,System.Threading.ParallelState},System.Action{System.Int32,System.Threading.ParallelState{``0}},System.Func{``0},System.Action{``0},System.Threading.Tasks.TaskManager,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Performs the major work of the parallel for loop. It assumes that argument validation has already
            been performed by the caller. This function's whole purpose in life is to enable as much reuse of
            common implementation details for the various For overloads we offer. Without it, we'd end up
            with lots of duplicate code. It handles: (1) simple for loops, (2) for loops that depend on
            ParallelState, and (3) for loops with thread local data.
            
            @TODO: at some point in the future, we may want to manually inline the interesting bits into the
            specific overloads above. There is some overhead associated with the extra arguments passed to
            the function, and various if-checks in the code. It is also more difficult to follow what the
            code does as-is because it has to handle the three flavors.
            </summary>
            <typeparam name="TLocal">The type of the local data.</typeparam>
            <param name="fromInclusive">The loop's start index, inclusive.</param>
            <param name="toExclusive">The loop's end index, exclusive.</param>
            <param name="step">The amount by which the loop index is advanced each iteration.</param>
            <param name="body">The simple loop body.</param>
            <param name="bodyWithState">The loop body for ParallelState overloads.</param>
            <param name="bodyWithLocal">The loop body for thread local state overloads.</param>
            <param name="threadLocalSelector">A selector function that returns new thread local
            state.</param>
            <param name="threadLocalCleanup">A cleanup function to destroy thread local state.</param>
            <remarks>Only one of the bodyXX arguments may be supplied (i.e. they are exclusive).</remarks>
        </member>
        <member name="M:System.Threading.Parallel.ForEach``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0})">
            <summary>
            Executes an action for each item in the enumerable data source, where each element may
            potentially be processed in parallel.
            </summary>
            <typeparam name="TSource">The type of the data in the enumerable.</typeparam>
            <param name="source">An enumerable data source.</param>
            <param name="body">The action to invoke for each element in the <paramref
            name="source"/>.</param>
            <remarks>
            The body delegate is provided with the item from <paramref name="source"/> being enumerated.
            </remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="source"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="body"/> argument is
            null.</exception>
            <exception cref="T:System.InvalidOperationException">The current <see
            cref="T:System.Threading.Tasks.TaskManager"/>
            has been shutdown.</exception>
            <exception cref="T:System.Threading.AggregateException">At least one invocation of the <paramref
            name="body"/> threw an exception.</exception>
        </member>
        <member name="M:System.Threading.Parallel.ForEach``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0,System.Threading.ParallelState})">
            <summary>
            Executes an action for each item in the enumerable data source, where each element may
            potentially be processed in parallel.
            </summary>
            <typeparam name="TSource">The type of data in the source.</typeparam>
            <param name="source">An enumerable data source.</param>
            <param name="body">The action to invoke for each element in the <paramref name="source"/>.</param>
            <remarks>
            The body delegate is provided with the item from <paramref name="source"/> being enumerated as
            well as with a
            <see cref="T:System.Threading.ParallelState"/> instance which may be used to stop the loop before
            all iterations have completed.
            </remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="source"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="body"/> argument is
            null.</exception>
            <exception cref="T:System.InvalidOperationException">The current <see cref="T:System.Threading.Tasks.TaskManager"/>
            has been shutdown.</exception>
            <exception cref="T:System.Threading.AggregateException">At least one invocation of the <paramref name="body"/> threw an exception.</exception>
        </member>
        <member name="M:System.Threading.Parallel.ForEach``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0,System.Int32})">
            <summary>
            Executes an action for each item in the enumerable data source, where each element may
            potentially be processed in parallel.
            </summary>
            <typeparam name="TSource">The type of data in the source.</typeparam>
            <param name="source">An enumerable data source.</param>
            <param name="body">The action to invoke for each element in the <paramref
            name="source"/>.</param>
            <remarks>
            The body delegate is provided with the item from <paramref name="source"/> being enumerated as
            well as with the index of the item as it was taken from the enumerable.
            </remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="source"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="body"/> argument is
            null.</exception>
            <exception cref="T:System.InvalidOperationException">The current <see
            cref="T:System.Threading.Tasks.TaskManager"/>
            has been shutdown.</exception>
            <exception cref="T:System.Threading.AggregateException">At least one invocation of the <paramref
            name="body"/> threw an exception.</exception>
        </member>
        <member name="M:System.Threading.Parallel.ForEach``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0,System.Int32,System.Threading.ParallelState})">
            <summary>
            Executes an action for each item in the enumerable data source, where each element may
            potentially be processed in parallel.
            </summary>
            <typeparam name="TSource">The type of data in the source.</typeparam>
            <param name="source">An enumerable data source.</param>
            <param name="body">The action to invoke for each element in the <paramref name="source"/>.</param>
            <remarks>
            The body delegate is provided with the item from <paramref name="source"/> being enumerated as
            well as with the index of the item as it was taken from the enumerable and a <see cref="T:System.Threading.ParallelState"/> instance which may be used to stop the loop before all
            iterations have completed.
            </remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="source"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="body"/> argument is
            null.</exception>
            <exception cref="T:System.InvalidOperationException">The current <see cref="T:System.Threading.Tasks.TaskManager"/>
            has been shutdown.</exception>
            <exception cref="T:System.Threading.AggregateException">At least one invocation of the <paramref name="body"/> threw an exception.</exception>
        </member>
        <member name="M:System.Threading.Parallel.ForEach``2(System.Collections.Generic.IEnumerable{``0},System.Func{``1},System.Action{``0,System.Int32,System.Threading.ParallelState{``1}})">
            <summary>
            Executes an action for each item in the enumerable data source, where each element may
            potentially be processed in parallel.
            </summary>
            <typeparam name="TSource">The type of data in the source.</typeparam>
            <typeparam name="TLocal">The type of thread-local data that will be used.</typeparam>
            <param name="source">An enumerable data source.</param>
            <param name="threadLocalSelector">A function that generates thread-local data. This data is
            provided to the body through a <see cref="T:System.Threading.ParallelState`1"/>
            instance.</param>
            <param name="body">The action to invoke for each element in the <paramref name="source"/>.</param>
            <remarks>
            The body delegate is provided with the item from <paramref name="source"/> being enumerated as
            well as with the index of the item as it was taken from the enumerable and a <see cref="T:System.Threading.ParallelState`1"/> instance which may be used to stop the loop
            before all iterations have completed. It may also be used to store per-thread data to avoid
            synchronization overhead in the loop body.
            </remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="source"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="body"/> argument is
            null.</exception>
            <exception cref="T:System.InvalidOperationException">The current <see cref="T:System.Threading.Tasks.TaskManager"/>
            has been shutdown.</exception>
            <exception cref="T:System.Threading.AggregateException">At least one invocation of the <paramref name="threadLocalSelector"/> or the <paramref name="body"/> threw an exception.</exception>
        </member>
        <member name="M:System.Threading.Parallel.ForEach``2(System.Collections.Generic.IEnumerable{``0},System.Func{``1},System.Action{``0,System.Int32,System.Threading.ParallelState{``1}},System.Action{``1})">
            <summary>
            Executes an action for each item in the enumerable data source, where each element may
            potentially be processed in parallel.
            </summary>
            <typeparam name="TSource">The type of data in the source.</typeparam>
            <typeparam name="TLocal">The type of thread-local data that will be used.</typeparam>
            <param name="source">An enumerable data source.</param>
            <param name="threadLocalSelector">A function that generates thread-local data. This data is
            provided to the body through a <see cref="T:System.Threading.ParallelState`1"/>
            instance.</param>
            <param name="body">The action to invoke for each element in the <paramref name="source"/>.</param>
            <param name="threadLocalCleanup">An action that cleans up the thread-local data.</param>
            <remarks>
            The body delegate is provided with the item from <paramref name="source"/> being enumerated as
            well as with the index of the item as it was taken from the enumerable and a <see cref="T:System.Threading.ParallelState`1"/> instance which may be used to stop the loop
            before all iterations have completed. It may also be used to store per-thread data to avoid
            synchronization overhead in the loop body.
            </remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="source"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="body"/> argument is
            null.</exception>
            <exception cref="T:System.InvalidOperationException">The current <see cref="T:System.Threading.Tasks.TaskManager"/>
            has been shutdown.</exception>
            <exception cref="T:System.Threading.AggregateException">At least one invocation of the <paramref name="threadLocalSelector"/>, the <paramref name="body"/>, or the <paramref name="threadLocalCleanup"/> threw an exception.</exception>
        </member>
        <member name="M:System.Threading.Parallel.ForEach``2(System.Collections.Generic.IEnumerable{``0},System.Func{``1},System.Action{``0,System.Int32,System.Threading.ParallelState{``1}},System.Action{``1},System.Threading.Tasks.TaskManager,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Executes an action for each item in the enumerable data source, where each element may
            potentially be processed in parallel.
            </summary>
            <typeparam name="TSource">The type of data in the source.</typeparam>
            <typeparam name="TLocal">The type of thread-local data that will be used.</typeparam>
            <param name="source">An enumerable data source.</param>
            <param name="threadLocalSelector">A function that generates thread-local data. This data is
            provided to the body through a <see cref="T:System.Threading.ParallelState`1"/>
            instance.</param>
            <param name="body">The action to invoke for each element in the <paramref name="source"/>.</param>
            <param name="threadLocalCleanup">An action that cleans up the thread-local data.</param>
            <param name="manager">The <see cref="T:System.Threading.Tasks.TaskManager"/> to use for
            execution.</param>
            <param name="options">The <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> to use for
            creating <see cref="T:System.Threading.Tasks.Task"/> instances in support of this method.</param>
            <remarks>
            The body delegate is provided with the item from <paramref name="source"/> being enumerated as
            well as with the index of the item as it was taken from the enumerable and a <see cref="T:System.Threading.ParallelState`1"/> instance which may be used to stop the loop
            before all iterations have completed. It may also be used to store per-thread data to avoid
            synchronization overhead in the loop body.
            </remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="source"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="body"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="manager"/> argument is
            null.</exception>
            <exception cref="T:System.InvalidOperationException">The specified <see cref="T:System.Threading.Tasks.TaskManager"/>
            has been shutdown.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="options"/> argument
            specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.</exception>
            <exception cref="T:System.Threading.AggregateException">At least one invocation of the <paramref name="threadLocalSelector"/>, the <paramref name="body"/>, or the <paramref name="threadLocalCleanup"/> threw an exception.</exception>
        </member>
        <member name="M:System.Threading.Parallel.ForEachWorker``2(System.Collections.Generic.IEnumerable{``0},System.Action{``0},System.Action{``0,System.Threading.ParallelState},System.Action{``0,System.Int32},System.Action{``0,System.Int32,System.Threading.ParallelState},System.Action{``0,System.Int32,System.Threading.ParallelState{``1}},System.Func{``1},System.Action{``1},System.Threading.Tasks.TaskManager,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Performs the major work of the parallel foreach loop. It assumes that argument validation has
            already been performed by the caller. This function's whole purpose in life is to enable as much
            reuse of common implementation details for the various For overloads we offer. Without it, we'd
            end up with lots of duplicate code. It handles: (1) simple foreach loops, (2) foreach loops that
            depend on ParallelState, and (3) foreach loops that access indices, (4) foreach loops with thread
            local data, and any necessary permutations thereof.
            
            @TODO: at some point in the future, we may want to manually inline the interesting bits into the
            specific overloads above. There is some overhead associated with the extra arguments passed to
            the function, and various if-checks in the code. It is also more difficult to follow what the
            code does as-is because it has to handle the all flavors.
            </summary>
            <typeparam name="TSource">The type of the source data.</typeparam>
            <typeparam name="TLocal">The type of the local data.</typeparam>
            <param name="source">An enumerable data source.</param>
            <param name="body">The simple loop body.</param>
            <param name="bodyWithState">The loop body for ParallelState overloads.</param>
            <param name="bodyWithIndex">The loop body for indexed overloads.</param>
            <param name="bodyWithIndexAndState">The loop body for indexed/ParallelState overloads.</param>
            <param name="bodyWithLocal">The loop body for thread local state overloads.</param>
            <param name="threadLocalSelector">A selector function that returns new thread local
            state.</param>
            <param name="threadLocalCleanup">A cleanup function to destroy thread local state.</param>
            <remarks>Only one of the bodyXX arguments may be supplied (i.e. they are exclusive).</remarks>
        </member>
        <member name="M:System.Threading.Parallel.ForEachWorker``2(``0[],System.Action{``0},System.Action{``0,System.Threading.ParallelState},System.Action{``0,System.Int32},System.Action{``0,System.Int32,System.Threading.ParallelState},System.Action{``0,System.Int32,System.Threading.ParallelState{``1}},System.Func{``1},System.Action{``1},System.Threading.Tasks.TaskManager,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            A fast path for the more general ForEachWorker method above. This uses ldelem instructions to
            access the individual elements of the array, which will be faster.
            </summary>
            <typeparam name="TSource">The type of the source data.</typeparam>
            <typeparam name="TLocal">The type of the local data.</typeparam>
            <param name="array">An array data source.</param>
            <param name="body">The simple loop body.</param>
            <param name="bodyWithState">The loop body for ParallelState overloads.</param>
            <param name="bodyWithIndex">The loop body for indexed overloads.</param>
            <param name="bodyWithIndexAndState">The loop body for indexed/ParallelState overloads.</param>
            <param name="bodyWithLocal">The loop body for thread local state overloads.</param>
            <param name="threadLocalSelector">A selector function that returns new thread local
            state.</param>
            <param name="threadLocalCleanup">A cleanup function to destroy thread local state.</param>
        </member>
        <member name="M:System.Threading.Parallel.ForEachWorker``2(System.Collections.Generic.IList{``0},System.Action{``0},System.Action{``0,System.Threading.ParallelState},System.Action{``0,System.Int32},System.Action{``0,System.Int32,System.Threading.ParallelState},System.Action{``0,System.Int32,System.Threading.ParallelState{``1}},System.Func{``1},System.Action{``1},System.Threading.Tasks.TaskManager,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            A fast path for the more general ForEachWorker method above. This uses IList&lt;T&gt;'s indexer
            capabilities to access the individual elements of the list rather than an enumerator.
            </summary>
            <typeparam name="TSource">The type of the source data.</typeparam>
            <typeparam name="TLocal">The type of the local data.</typeparam>
            <param name="list">A list data source.</param>
            <param name="body">The simple loop body.</param>
            <param name="bodyWithState">The loop body for ParallelState overloads.</param>
            <param name="bodyWithIndex">The loop body for indexed overloads.</param>
            <param name="bodyWithIndexAndState">The loop body for indexed/ParallelState overloads.</param>
            <param name="bodyWithLocal">The loop body for thread local state overloads.</param>
            <param name="threadLocalSelector">A selector function that returns new thread local
            state.</param>
            <param name="threadLocalCleanup">A cleanup function to destroy thread local state.</param>
        </member>
        <member name="T:System.Threading.AggregateException">
            <summary>Represents multiple errors that occur during application execution.</summary>
            <remarks>
            <see cref="T:System.Threading.AggregateException"/> is used to consolidate multiple failures into a
            single, throwable exception object, for cases where multiple exceptions may happen in parallel.
            While <see cref="T:System.Threading.AggregateException"/> may be instantiated by user code, the need
            to do so is rare, as instances of <see cref="T:System.Threading.AggregateException"/> are generated
            internally by the system.
            </remarks>
        </member>
        <member name="M:System.Threading.AggregateException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:System.Threading.AggregateException"/> class.
            </summary>
        </member>
        <member name="M:System.Threading.AggregateException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Threading.AggregateException"/> class with
            a specified error message.
            </summary>
            <param name="message">The error message that explains the reason for the exception.</param>
        </member>
        <member name="M:System.Threading.AggregateException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Threading.AggregateException"/> class with
            a specified error message and a reference to the inner exception that is the cause of this
            exception.
            </summary>
            <param name="message">The error message that explains the reason for the exception.</param>
            <param name="inner">The exception that is the cause of the current exception.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="inner"/> argument is null.</exception>
        </member>
        <member name="M:System.Threading.AggregateException.#ctor(System.Collections.Generic.IEnumerable{System.Exception})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Threading.AggregateException"/> class with
            references to the inner exceptions that are the cause of this exception.
            </summary>
            <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
            was null.</exception>
            <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> was
            null.</exception>
        </member>
        <member name="M:System.Threading.AggregateException.#ctor(System.String,System.Collections.Generic.IEnumerable{System.Exception})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Threading.AggregateException"/> class with
            a specified error message and references to the inner exceptions that are the cause of this
            exception.
            </summary>
            <param name="message">The error message that explains the reason for the exception.</param>
            <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
            was null.</exception>
            <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> was
            null.</exception>
        </member>
        <member name="M:System.Threading.AggregateException.#ctor(System.String,System.Collections.Generic.List{System.Exception})">
            <summary>
            Allocates a new aggregate exception with the specified message and list of inner exceptions.
            </summary>
            <param name="message">A message describing the exception's cause.</param>
            <param name="innerExceptions">A list of exceptions to wrap.</param>
            <exception cref="T:System.ArgumentNullException">The innerExceptions argument is
            null.</exception>
            <exception cref="T:System.ArgumentException">An element of innerExceptions is null.</exception>
        </member>
        <member name="M:System.Threading.AggregateException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Threading.AggregateException"/> class with
            serialized data.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds
            the serialized object data about the exception being thrown.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
            contains contextual information about the source or destination. </param>
        </member>
        <member name="M:System.Threading.AggregateException.Handle(System.Func{System.Exception,System.Boolean})">
            <summary>
            Invokes a handler on each <see cref="T:System.Exception"/> contained by this <see cref="T:System.Threading.AggregateException"/>.
            </summary>
            <param name="handler">The handler to execute for each exception. The handler accepts as an
            argument the <see cref="T:System.Exception"/> to be processed and returns a Boolean to indicate
            whether the exception was handled.</param>
            <remarks>
            Each invocation of the <paramref name="handler"/> returns true or false to indicate whether the
            <see cref="T:System.Exception"/> was handled. At the end, if any exceptions went unhandled, all
            unhandled exceptions will be put into a new <see cref="T:System.Threading.AggregateException"/>
            which will be thrown. Otherwise, the <see cref="M:System.Threading.AggregateException.Handle(System.Func{System.Exception,System.Boolean})"/> method simply returns. If any
            invocations of the <paramref name="handler"/> throws an exception, it will halt the processing of
            any more exceptions and immediately propagate the thrown exception as-is.
            </remarks>
            <exception cref="T:System.Threading.AggregateException">An exception contained by this <see cref="T:System.Threading.AggregateException"/> was not handled.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="handler"/> argument is
            null.</exception>
        </member>
        <member name="M:System.Threading.AggregateException.Flatten(System.Threading.AggregateException[])">
            <summary>
            Flattens many <see cref="T:System.Threading.AggregateException"/> instances into a single, new
            instance.
            </summary>
            <param name="exceptions">An array of <see cref="T:System.Threading.AggregateException"/>
            instances to flatten.</param>
            <returns>A new, flattened <see cref="T:System.Threading.AggregateException"/>.</returns>
            <remarks>
            The inner exceptions returned in the new <see cref="T:System.Threading.AggregateException"/> will
            be the union of the inner exceptions from all of the provided
            <see cref="T:System.Threading.AggregateException"/> instances.
            </remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="exceptions"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentException">An element in <paramref name="exceptions"/> argument
            is null.</exception>
        </member>
        <member name="M:System.Threading.AggregateException.ToString">
            <summary>
            Creates and returns a string representation of the current exception.
            </summary>
            <returns>A string representation of the current exception.</returns>
        </member>
        <member name="P:System.Threading.AggregateException.InnerExceptions">
            <summary>
            Gets a read-only collection of the <see cref="T:System.Exception"/> instances that caused the
            current exception.
            </summary>
        </member>
        <member name="T:System.Threading.SlimManualResetEvent">
             <summary>
             SlimManualResetEvent wraps a manual-reset event internally with a little bit of
             spinning. When an event will be set imminently, it is often advantageous to avoid
             a 4k+ cycle context switch in favor of briefly spinning. Therefore we layer on to
             a brief amount of spinning that should, on the average, make using the slim event
             cheaper than using Win32 events directly. This can be reset manually, much like
             a Win32 manual-reset would be.
            
             Notes:
                 We lazily allocate the Win32 event internally. Therefore, the caller should
                 always call Dispose to clean it up, just in case. This API is a no-op of the
                 event wasn't allocated, but if it was, ensures that the event goes away
                 eagerly, instead of waiting for finalization.
             </summary>
        </member>
        <member name="M:System.Threading.SlimManualResetEvent.#ctor">
            <summary>
            Constructs a new unset event object with a default spin count.
            </summary>
        </member>
        <member name="M:System.Threading.SlimManualResetEvent.#ctor(System.Boolean)">
            <summary>
            Constructs a new event object with a default spin count.
            </summary>
            <param name="initiallySet">Whether the event should be initially set (true) or not (false).</param>
        </member>
        <member name="M:System.Threading.SlimManualResetEvent.#ctor(System.Boolean,System.Int32)">
            <summary>
            Constructs a new event object.
            </summary>
            <param name="initiallySet">Whether the event should be initially set (true) or not (false).</param>
            <param name="spinCount">The number of spins before falling back to a true wait.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">If the spinCount is less than 0.</exception>
        </member>
        <member name="M:System.Threading.SlimManualResetEvent.Initialize(System.Boolean,System.UInt32,System.Boolean)">
            <summary>
            Initializes the internal state of the event.
            </summary>
            <param name="initiallySet"></param>
            <param name="spinCount"></param>
            <param name="useDynamicSpinAdjustment"></param>
        </member>
        <member name="M:System.Threading.SlimManualResetEvent.LazyInitializeEvent">
            <summary>
            This method lazily initializes the event object. It uses CAS to guarantee that
            many threads racing to call this at once don't result in more than one event
            being stored and used. The event will be signaled or unsignaled depending on
            the state of the thin-event itself, with synchronization taken into account.
            </summary>
            <returns>True if a new event was created and stored, false otherwise.</returns>
        </member>
        <member name="M:System.Threading.SlimManualResetEvent.Set">
            <summary>
            Sets the event, possibly waking up any waiting threads.
            </summary>
        </member>
        <member name="M:System.Threading.SlimManualResetEvent.Reset">
            <summary>
            Resets the event to the unsignaled state.
            </summary>
        </member>
        <member name="M:System.Threading.SlimManualResetEvent.Wait">
            <summary>
            Waits for the event to become set. We will spin briefly if the event isn't set
            (assuming a non-0 timeout), before falling back to a true wait.
            </summary>
        </member>
        <member name="M:System.Threading.SlimManualResetEvent.Wait(System.TimeSpan)">
            <summary>
            Waits for the event to become set. We will spin briefly if the event isn't set
            (assuming a non-0 timeout), before falling back to a true wait.
            </summary>
            <param name="timeout">The maximum amount of time to wait.</param>
            <returns>True if the wait succeeded, false if the timeout expired.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">If the timeout is not within range.</exception>
        </member>
        <member name="M:System.Threading.SlimManualResetEvent.Wait(System.Int32)">
            <summary>
            Waits for the event to become set. We will spin briefly if the event isn't set
            (assuming a non-0 timeout), before falling back to a true wait.
            </summary>
            <param name="millisecondsTimeout">The maximum amount of time to wait.</param>
            <returns>True if the wait succeeded, false if the timeout expired.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">If the timeout is not within range.</exception>
        </member>
        <member name="M:System.Threading.SlimManualResetEvent.WaitAny(System.Threading.SlimManualResetEvent[])">
            <summary>
            WaitAny simulates a Win32-style WaitAny on the set of thin-events.
            </summary>
            <param name="events">An array of thin-events (null elements permitted)</param>
            <returns>The index of the specific event in events that caused us to wake up.</returns>
        </member>
        <member name="M:System.Threading.SlimManualResetEvent.Dispose">
            <summary>
            Gets rid of the internal Win32 event, if one got allocated.
            </summary>
        </member>
        <member name="P:System.Threading.SlimManualResetEvent.IsSet">
            <summary>
            Whether the event has been signaled.
            </summary>
        </member>
        <member name="P:System.Threading.SlimManualResetEvent.WaitHandle">
            <summary>
            Retrieves the underlying Win32 event object. Accessing this property forces
            initialization if the event hasn't been created already.
            </summary>
        </member>
        <member name="P:System.Threading.SlimManualResetEvent.UseDynamicSpinAdjustment">
            <summary>
            Whether we should use dynamic spin count adjustment.
            </summary>
        </member>
        <member name="P:System.Threading.SlimManualResetEvent.SpinCount">
            <summary>
            Retrieves the current spin count.
            </summary>
        </member>
        <member name="T:System.Threading.SpinWait">
             <summary>
             ThinSpinWait is just a little value type that encapsulates some common spinning
             logic. It ensures we always yield on single-proc machines (instead of using busy
             waits), and that we work well on HT. It encapsulates a good mixture of spinning
             and real yielding. It's a value type so that various areas of the engine can use
             one by allocating it on the stack w/out unnecessary GC allocation overhead, e.g.:
            
                 void f() {
                     SpinWait wait = new SpinWait();
                     while (!p) { wait.Spin(); }
                     ...
                 }
            
             Internally it just maintains a counter that is used to decide when to yield, etc.
            
             Assumptions:
                 The caller should keep track of the 'Count', i.e. how many times Spin has been
                 called, and responsibly fall back to a true wait after a while. The threshold
                 should be smaller for single-proc machines, since each call to Spin yields.
            
             Notes:
                 We currently P/Invoke to SwitchToThread which is unsafe in a hosted CLR.
                 Ideally one day the CLR will expose an API that does this. We want to avoid
                 calling Sleep, because it's (a) expensive, and (b) can lead to starvation due
                 to thread priorities, requiring that we do VERY expensive Sleep(1) calls.
             </summary>
        </member>
        <member name="M:System.Threading.SpinWait.Spin">
            <summary>
            Performs a single Spin iteration. This is typically called in a loop, and does some-
            thing special depending on the number of times a Spin has been issued so far. For
            example, every so often it will Yield instead of busy spinning.
            </summary>
        </member>
        <member name="M:System.Threading.SpinWait.Reset">
            <summary>
            Resets the internal spin counter. This makes the Spin API behave as though the next
            call were its first. If a SpinWait object is reused many times, you will want to reset
            it to avoid accidentally yielding too soon, etc.
            </summary>
        </member>
        <member name="P:System.Threading.SpinWait.Count">
            <summary>
            Retrieves the number of times we've spun.
            </summary>
        </member>
        <member name="T:System.Threading.Tasks.TaskCanceledException">
            <summary>
            Represents an exception used to communicate task cancelation.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/> class.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/>
            class with a specified error message.
            </summary>
            <param name="message">The error message that explains the reason for the exception.</param>
        </member>
        <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/>
            class with a specified error message and a reference to the inner exception that is the cause of
            this exception.
            </summary>
            <param name="message">The error message that explains the reason for the exception.</param>
            <param name="innerException">The exception that is the cause of the current exception.</param>
        </member>
        <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor(System.Threading.Tasks.Task)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/> class
            with a reference to the <see cref="T:System.Threading.Tasks.Task"/> that has been canceled.
            </summary>
            <param name="task">A task that has been canceled.</param>
        </member>
        <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/>
            class with serialized data.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination. </param>
        </member>
        <member name="P:System.Threading.Tasks.TaskCanceledException.Task">
            <summary>
            Gets the task associated with this exception, if any exists.
            </summary>
        </member>
        <member name="T:System.Threading.Tasks.TaskCoordinator">
            <summary>
            <see cref="T:System.Threading.Tasks.TaskCoordinator"/> is the common base type for waitable and
            cancelable objects in the system, providing a set of primitive functions to support the coordination
            of these objects.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.TaskCoordinator.#ctor">
            <summary>
            Internal constructor to prevent subclassing by types outside of PFX.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.TaskCoordinator.Cancel">
            <summary>
            Cancels the <see cref="T:System.Threading.Tasks.TaskCoordinator"/>.
            </summary>
            <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Threading.Tasks.TaskCoordinator"/> has been disposed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskCoordinator.CancelAndWait">
            <summary>
            Cancels the <see cref="T:System.Threading.Tasks.TaskCoordinator"/> and waits for it to complete
            execution.
            </summary>
            <remarks>
            This suppresses the cancelation exception that would ordinarily arise from waiting on a canceled
            task.
            </remarks>
            <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Threading.Tasks.TaskCoordinator"/> has been disposed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskCoordinator.CancelAndWait(System.TimeSpan)">
            <summary>
            Cancels the <see cref="T:System.Threading.Tasks.TaskCoordinator"/> and waits for it to complete
            execution.
            </summary>
            <param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds
            to wait, or a <see cref="T:System.TimeSpan"/> that represents -1 milliseconds to wait indefinitely.
            </param>
            <remarks>
            This suppresses the cancelation exception that would ordinarily arise from waiting on a canceled
            task.
            </remarks>
            <returns>true if the cancelation and waiting completed within the allotted time; otherwise,
            false.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative number
            other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than
            <see cref="F:System.Int32.MaxValue"/>.</exception>
            <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Threading.Tasks.TaskCoordinator"/> has been disposed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskCoordinator.CancelAndWait(System.Int32)">
            <summary>
            Cancels the <see cref="T:System.Threading.Tasks.TaskCoordinator"/> and waits for it to complete
            execution.
            </summary>
            <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to wait indefinitely.</param>
            <remarks>
            This suppresses the cancelation exception that would ordinarily arise from waiting on a canceled
            task.
            </remarks>
            <returns>true if the cancelation and waiting completed within the allotted time; otherwise,
            false.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
            negative number other than -1, which represents an infinite time-out.</exception>
            <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Threading.Tasks.TaskCoordinator"/> has been disposed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskCoordinator.Wait">
            <summary>
            Waits for the <see cref="T:System.Threading.Tasks.TaskCoordinator"/> to complete execution.
            </summary>
            <exception cref="T:System.Threading.AggregateException">The <see cref="T:System.Threading.Tasks.TaskCoordinator"/> was canceled -or- an exception was thrown
            during the execution of the <see cref="T:System.Threading.Tasks.TaskCoordinator"/>.</exception>
            <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Threading.Tasks.TaskCoordinator"/> has been disposed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskCoordinator.Wait(System.TimeSpan)">
            <summary>
            Waits for the <see cref="T:System.Threading.Tasks.TaskCoordinator"/> to complete execution.
            </summary>
            <param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds
            to wait, or a <see cref="T:System.TimeSpan"/> that represents -1 milliseconds to wait indefinitely.
            </param>
            <returns>true if the <see cref="T:System.Threading.Tasks.TaskCoordinator"/> completed execution
            within the allotted time; otherwise, false.</returns>
            <exception cref="T:System.Threading.AggregateException">The <see cref="T:System.Threading.Tasks.TaskCoordinator"/> was canceled -or- an exception was thrown
            during the execution of the <see cref="T:System.Threading.Tasks.TaskCoordinator"/>.</exception>
            <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Threading.Tasks.TaskCoordinator"/> has been disposed.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative number
            other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than
            <see cref="F:System.Int32.MaxValue"/>.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskCoordinator.Wait(System.Int32)">
            <summary>
            Waits for the <see cref="T:System.Threading.Tasks.TaskCoordinator"/> to complete execution.
            </summary>
            <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to wait indefinitely.</param>
            <returns>true if the <see cref="T:System.Threading.Tasks.TaskCoordinator"/> completed execution
            within the allotted time; otherwise, false.</returns>
            <exception cref="T:System.Threading.AggregateException">The <see cref="T:System.Threading.Tasks.TaskCoordinator"/> was canceled -or- an exception was thrown
            during the execution of the <see cref="T:System.Threading.Tasks.TaskCoordinator"/>.</exception>
            <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Threading.Tasks.TaskCoordinator"/> has been disposed.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
            negative number other than -1, which represents an infinite time-out.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskCoordinator.WaitAll(System.Threading.Tasks.TaskCoordinator[])">
            <summary>
            Waits for all of the provided <see cref="T:System.Threading.Tasks.TaskCoordinator"/> objects to
            complete execution.
            </summary>
            <param name="tasks">An array of <see cref="T:System.Threading.Tasks.TaskCoordinator"/> instances
            on which to wait.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a
            null element.</exception>
            <exception cref="T:System.Threading.AggregateException">At least one of the <see cref="T:System.Threading.Tasks.TaskCoordinator"/> instances was canceled -or- an exception was
            thrown during the execution of at least one of the <see cref="T:System.Threading.Tasks.TaskCoordinator"/> instances.</exception>
            <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Threading.Tasks.TaskCoordinator"/> has been disposed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskCoordinator.WaitAll(System.Threading.Tasks.TaskCoordinator[],System.TimeSpan)">
            <summary>
            Waits for all of the provided <see cref="T:System.Threading.Tasks.TaskCoordinator"/> objects to
            complete execution.
            </summary>
            <returns>true if all of the <see cref="T:System.Threading.Tasks.TaskCoordinator"/> instances
            completed execution within the allotted time; otherwise, false.</returns>
            <param name="tasks">An array of <see cref="T:System.Threading.Tasks.TaskCoordinator"/> instances
            on which to wait.</param>
            <param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds
            to wait, or a <see cref="T:System.TimeSpan"/> that represents -1 milliseconds to wait indefinitely.
            </param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a
            null element.</exception>
            <exception cref="T:System.Threading.AggregateException">At least one of the <see cref="T:System.Threading.Tasks.TaskCoordinator"/> instances was canceled -or- an exception was
            thrown during the execution of at least one of the <see cref="T:System.Threading.Tasks.TaskCoordinator"/> instances.</exception>
            <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Threading.Tasks.TaskCoordinator"/> has been disposed.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative number
            other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than
            <see cref="F:System.Int32.MaxValue"/>.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskCoordinator.WaitAll(System.Threading.Tasks.TaskCoordinator[],System.Int32)">
            <summary>
            Waits for all of the provided <see cref="T:System.Threading.Tasks.TaskCoordinator"/> objects to
            complete execution.
            </summary>
            <returns>true if all of the <see cref="T:System.Threading.Tasks.TaskCoordinator"/> instances
            completed execution within the allotted time; otherwise, false.</returns>
            <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to wait indefinitely.</param>
            <param name="tasks">An array of <see cref="T:System.Threading.Tasks.TaskCoordinator"/> instances
            on which to wait.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a
            null element.</exception>
            <exception cref="T:System.Threading.AggregateException">At least one of the <see cref="T:System.Threading.Tasks.TaskCoordinator"/> instances was canceled -or- an exception was
            thrown during the execution of at least one of the <see cref="T:System.Threading.Tasks.TaskCoordinator"/> instances.</exception>
            <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Threading.Tasks.TaskCoordinator"/> has been disposed.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
            negative number other than -1, which represents an infinite time-out.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskCoordinator.WaitAny(System.Threading.Tasks.TaskCoordinator[])">
            <summary>
            Waits for any of the supplied tasks to complete executing.
            </summary>
            <param name="tasks">An array of tasks to wait on.</param>
            <returns>The index of the completed task, or -1 if the timeout occurred.</returns>
            <exception cref="T:System.ArgumentNullException">If tasks is null.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskCoordinator.WaitAny(System.Threading.Tasks.TaskCoordinator[],System.TimeSpan)">
            <summary>
            Waits for any of the supplied tasks to complete executing.
            </summary>
            <param name="tasks">An array of tasks to wait on.</param>
            <param name="timeout">A timeout.</param>
            <returns>The index of the completed task, or -1 if the timeout occurred.</returns>
            <exception cref="T:System.ArgumentNullException">If tasks is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">If timeout represents an invalid timeout.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskCoordinator.WaitAny(System.Threading.Tasks.TaskCoordinator[],System.Int32)">
            <summary>
            Waits for any of the specified task objects to complete, or for the
            timeout to expire, whichever occurs first.
            </summary>
            <param name="tasks">The tasks on which to wait.</param>
            <param name="millisecondsTimeout">A timeout.</param>
            <returns>The index of the completed task, or -1 if the timeout occurred.</returns>
            <exception cref="T:System.ArgumentNullException">If tasks is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">If millisecondsTimeout is less than -1.</exception>
        </member>
        <member name="P:System.Threading.Tasks.TaskCoordinator.IsCanceled">
            <summary>
            Gets whether the <see cref="T:System.Threading.Tasks.TaskCoordinator"/> has been canceled.
            </summary>
            <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Threading.Tasks.TaskCoordinator"/> has been disposed.</exception>
        </member>
        <member name="T:System.Threading.Internal.Atomic">
            <summary>
            Internal class that implements CompareAndSwap which is usually more convenient than CompareExchange.
            </summary>
        </member>
        <member name="M:System.Threading.Internal.Atomic.CompareAndSwap(System.Int32@,System.Int32,System.Int32)">
            <summary>
            Atomically compare two values for equality and, if they are equal, replace one of the values.
            </summary>
            <param name="location">The destination, whose value is compared with <paramref name="comparand"/> and possibly replaced</param>
            <param name="value">The value that replaces the destination value if the comparison results in equality.</param>
            <param name="comparand">The value that is compared to the value at <paramref name="location"/></param>
            <returns><c>true</c> if the swap happened and location was equal to <paramref name="value"/>, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:System.Threading.Internal.Atomic.CompareAndSwap``1(``0@,``0,``0)">
            <summary>
            Atomically compare two values for equality and, if they are equal, replace one of the values.
            </summary>
            <param name="location">The destination, whose value is compared with <paramref name="comparand"/> and possibly replaced</param>
            <param name="value">The value that replaces the destination value if the comparison results in equality.</param>
            <param name="comparand">The value that is compared to the value at <paramref name="location"/></param>
            <returns><c>true</c> if the swap happened and location was equal to <paramref name="value"/>, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:System.Threading.Internal.Atomic.InterlockedWrite(System.Int32@,System.Int32)">
            <summary>
            Write a value to a memory location such that it is visible to all other processors.
            </summary>
            <param name="location">The location to write to.</param>
            <param name="value">The value to be written.</param>
        </member>
        <member name="M:System.Threading.Internal.Atomic.FastInterlockedAdd(System.Int32@,System.Int32)">
            <summary>
            Internally uses primitives appropriate for the value specified. For example, if a
            value of 1 is supplied it turns into a simple interlocked Increment which has its
            own instruction and hence will be faster than an Add, which internally uses a CAS.
            </summary>
            <param name="location">The location being modified.</param>
            <param name="value">A value to add to the location.</param>
            <returns>The old value.</returns>
        </member>
        <member name="T:System.Threading.Tasks.ConcurrentListBag`1">
            <summary>
            A circular list that is thread-safe.
            </summary>
            <remarks>
            The operations are mostly lock-free, in particular visiting the nodes.
            The implementation is based on:
               "A Lazy System List-Based Set Algorithm"
               Steve Heller, Maurice Herlihy, et al.
            </remarks>
            <typeparam name="T">The type of the elements, must be a ref type.</typeparam>
        </member>
        <member name="M:System.Threading.Tasks.ConcurrentListBag`1.#ctor">
            <summary>
            Creates a new (empty) circular list.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.ConcurrentListBag`1.IsValid(System.Threading.Tasks.ConcurrentListBag{`0}.Node,System.Threading.Tasks.ConcurrentListBag{`0}.Node)">
            <summary>
            Checks whether the two nodes are undeleted and the relationship between them
            is unchanged (i.e. previous.next == current).
            </summary>
            <param name="previous">The previous node.</param>
            <param name="current">The current node.</param>
            <returns>True if they are consistent.</returns>
        </member>
        <member name="M:System.Threading.Tasks.ConcurrentListBag`1.Add(`0)">
            <summary>
             Add an element to the list.
            </summary>
            <param name="elem">The element to add.</param>
        </member>
        <member name="M:System.Threading.Tasks.ConcurrentListBag`1.Remove(`0)">
            <summary>
            Remove a particular element.
            </summary>
            <param name="elem">The element to remove.</param>
        </member>
        <member name="M:System.Threading.Tasks.ConcurrentListBag`1.FindAndRemove(System.Predicate{`0})">
            <summary>
            Find and remove an element based on a predicate function.
            </summary>
            <param name="pred">The predicate to apply.</param>
            <returns>The first element where <paramref name="pred"/> returned
            <c>true</c>, or <c>null</c> if no such element was found.</returns>
            <remarks>The <paramref  name="pred"/> is only called once. This must
            be used to atomically alter the element such that concurrent processes
            will only find such element once.</remarks>
        </member>
        <member name="M:System.Threading.Tasks.ConcurrentListBag`1.Find(`0,System.Predicate{`0})">
            <summary>
            Find an element that satisfies a predicate.
            </summary>
            <param name="start">The start element from where to search.</param>
            <param name="pred">The predicate that the element should satisfy.</param>
            <returns>The element that satisfied the predicate or <c>null</c>.</returns>
            <remarks>The <paramref  name="pred"/> is only called once. This must
            be used to atomically alter the element such that concurrent processes
            will only find such element once.</remarks>
        </member>
        <member name="M:System.Threading.Tasks.ConcurrentListBag`1.FindNodeContaining(`0)">
            <summary>
            Searches the list for the node containing a particular element.
            </summary>
            <param name="elem">The element to search for.</param>
            <returns>A pointer to the node containing elem, or null if none found.</returns>
        </member>
        <member name="M:System.Threading.Tasks.ConcurrentListBag`1.RemoveNode(System.Threading.Tasks.ConcurrentListBag{`0}.Node)">
            <summary>
            Remove a node.
            </summary>
            <param name="node">The node to remove.</param>
            <returns><c>true</c> if the node is actually removed. It may return <c>false</c> if the
            node was not present, but also if a 
            concurrent thread removed the node just before this one.
            </returns>
        </member>
        <member name="M:System.Threading.Tasks.ConcurrentListBag`1.FindNode(System.Predicate{`0})">
            <summary>
            Find a node where a particular predicate holds. 
            </summary>
            <param name="pred">The predicate function applied to the element.</param>
            <returns>The node where the predicate function returned <c>true</c>.</returns>
            <remarks>The <paramref name="pred"/> should be called only once, and is allowed
            to return <c>false</c> the next time it is called (by changing the argument on the
            first call). This can be used to atomically ensure that an element is only found
            once in a concurrent situation.</remarks>
        </member>
        <member name="M:System.Threading.Tasks.ConcurrentListBag`1.Nodes">
            <summary>
            Enumerates the nodes in the list, skipping deleted elements.
            </summary>
            <returns>An enumerable object.</returns>
        </member>
        <member name="M:System.Threading.Tasks.ConcurrentListBag`1.NodesFrom(`0)">
            <summary>
            Enumerate the nodes in the list, beginning with a particular element.
            </summary>
            <param name="start">The node to start from.</param>
            <returns>An enumerable objects.</returns>
        </member>
        <member name="M:System.Threading.Tasks.ConcurrentListBag`1.Elems">
            <summary>
            Enumerate all elements.
            </summary>
            <returns>The element enumerator.</returns>
        </member>
        <member name="M:System.Threading.Tasks.ConcurrentListBag`1.ElemsFrom(`0)">
            <summary>
            Enumerate all elements except for the starting element.
            </summary>
            <param name="start">The element from which to enumerate.</param>
            <returns>The element enumerator.</returns>
        </member>
        <member name="P:System.Threading.Tasks.ConcurrentListBag`1.Count">
            <summary>
            The number of elements in the list.
            </summary>
        </member>
        <member name="T:System.Threading.Tasks.ConcurrentListBag`1.Node">
            <summary>
            A private node type.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.ConcurrentListBag`1.Node.#ctor(`0)">
            <summary>
            Constructs a new node.
            </summary>
            <param name="init">The element value.</param>
        </member>
        <member name="P:System.Threading.Tasks.ConcurrentListBag`1.Node.IsDeleted">
            <summary>
            Checks whether a node has been deleted.
            </summary>
        </member>
        <member name="T:System.Threading.Tasks.Platform">
            <summary>
            Internal class that abstracts over common platform specific operations.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Platform.YieldExponential(System.Int32@)">
            <summary>
            Wait by spinning the processor (on multi processor machines).
            </summary>
            <param name="spins">Number of cycles spend spinning. Should be zero on the initial call.</param>
            <returns>Sleep time in msecs.</returns>
        </member>
        <member name="P:System.Threading.Tasks.Platform.LogicalProcessorCount">
            <summary>
            Return the number of available processors.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Platform.IsMultiProcMachine">
            <summary>
            <c>true</c> if we are running on a multi processor machine.
            </summary>
        </member>
        <member name="T:System.Threading.Tasks.Statistics">
            <summary>
            Statistics to monitor the behaviour and performance of the task manager.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Statistics.ToString">
            <summary>
            Convert the statistics to a string in human readable format.
            </summary>
            <returns>The string representation of the statistics.</returns>
        </member>
        <member name="P:System.Threading.Tasks.Statistics.Runs">
            <summary>
            The number of executed tasks.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Statistics.Switches">
            <summary>
            The number of forced thread switches.
            </summary>
            <remarks>If this number is high with respect to <see cref="P:System.Threading.Tasks.Statistics.Runs"/>,
            it can mean that there were many joins on tasks in creation
            order; try to join in reverse order, i.e. join on the last created task first.</remarks>
        </member>
        <member name="P:System.Threading.Tasks.Statistics.UsedThreads">
            <summary>
            The total number of threads used to execute the tasks.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Statistics.Steals">
            <summary>
            The number of tasks stolen from other workers.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Statistics.Migrations">
            <summary>
            The number of threads that were migrated to another processor.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Statistics.WorkerStats">
            <summary>
            Retrieve statistics per worker.
            </summary>
            <remarks>
            Usually, there is one worker per processor that executes tasks.
            Note: the sum of worker threads per worker can be lower than the
            total number of threads used due to thread migration between
            workers.
            </remarks>
        </member>
        <member name="P:System.Threading.Tasks.Statistics.Elapsed">
            <summary>
            Elapsed time.
            </summary>
            <remarks>
            Only set for the task manager statistics.</remarks>
        </member>
        <member name="T:System.Threading.Tasks.QueueFullPolicy">
            <summary>
            Determines what is done if a task is pushed on a queue that is full.
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.QueueFullPolicy.Run">
            <summary>
            Don't expand the take queue but run the task directly
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.QueueFullPolicy.Discard">
            <summary>
            Don't expand the take queue and discard this task (for replicable tasks)
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.QueueFullPolicy.Expand">
            <summary>
            Expand the take queue (only used for the task manager 'global' queue)
            </summary>
        </member>
        <member name="T:System.Threading.Tasks.TakeQueue`1">
            <summary>
            A take queue is a concurrent queue where one thread can Push and Pop elements, 
            and other threads can Take elements from the other end of the queue.
            If there are enough elements, pushing and popping can be done lock free and
            is extremely fast.
            </summary>
            <typeparam name="T"></typeparam>
            <remarks>
            The queue is implemented as an array. The head and tail index this
            array. To avoid copying elements, the head and tail index the array modulo
            the size of the array. By making this a power of two, we can use a cheap
            bit-and operation to take the modulus. The "mask" is always equal to the 
            size of the task array minus one (where the size is a power of two).
            
            The head and tail are volatile as they can be updated from different OS threads.
            The "head" is only updated by foreign threads as they Take (steal) a task from 
            this queue. By putting a lock in Take, there is at most one foreign thread 
            changing head at a time. The tail is only updated by the owning thread during
            Push or Pop.
            
            invariants:
              elems.length is a power of 2
              mask == tasks.length-1
              head is only written to by threads calling Take
              tail is only written to by the owning thread, in Push and Pop
              At most one foreign thread can do a Take
              All methods except Take are executed from a single owning thread
              tail points to the first unused location, thus if head==tail, the queue is empty.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TakeQueue`1.#ctor(System.Int32)">
            <summary>
            Construct a take queue.
            </summary>
            <param name="initSize">The initial size of the queue.</param>
        </member>
        <member name="M:System.Threading.Tasks.TakeQueue`1.Take">
            <summary>
            Take an element from the head of the queue.
            </summary>
            <returns>The element or <c>null</c>.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TakeQueue`1.Pop">
            <summary>
            Pop an element from the tail of the queue.
            </summary>
            <returns>An element or <c>null</c>.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TakeQueue`1.Push(`0)">
            <summary>
            Push an element to the tail of the queue.
            </summary>
            <param name="elem">The element to push.</param>
            <returns><c>true</c> if the element was pushed on an empty queue.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TakeQueue`1.FindAndPop(`0)">
            <summary>
            Find an element on the queue and pop (or remove) it if it is found.
            </summary>
            <param name="elem">The element to find.</param>
            <returns>The element or <c>null</c> on failure</returns>
            <remarks>The method does not have to search the entire queue, and 
            is allowed to fail even if the element was in the queue.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TakeQueue`1.SafePush(`0,System.Threading.Tasks.QueueFullPolicy)">
            <summary>
            Push an element on the queue in a thread-safe way.
            </summary>
            <param name="elem">The element to push.</param>
            <returns><c>true</c> if the element was pushed on an empty queue</returns>
            <remarks>This is only safe if not mixed with a normal <see cref="M:System.Threading.Tasks.TakeQueue`1.Push(`0)"/>.</remarks>
        </member>
        <member name="T:System.Threading.Tasks.TaskManagerPolicy">
            <summary>
            Represents a policy used to configure the behavior of a TaskManager.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.TaskManagerPolicy.#ctor">
            <summary>
            Instantiates a new <see cref="T:System.Threading.Tasks.TaskManagerPolicy"/> containing the system defaults.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.TaskManagerPolicy.#ctor(System.Int32,System.Int32)">
            <summary>
            Instantiates a new <see cref="T:System.Threading.Tasks.TaskManagerPolicy"/>. System defaults
            are used for all policy values not specified.
            </summary>
            <param name="minThreads">The minimum number of threads to use for executing tasks.</param>
            <param name="idealThreads">The ideal number of threads to use for executing tasks.</param>
        </member>
        <member name="M:System.Threading.Tasks.TaskManagerPolicy.#ctor(System.Int32,System.Int32,System.Int32)">
            <summary>
            Instantiates a new <see cref="T:System.Threading.Tasks.TaskManagerPolicy"/>. System defaults
            are used for all policy values not specified.
            </summary>
            <param name="minThreads">The minimum number of threads to use for executing tasks.</param>
            <param name="idealThreads">The ideal number of threads to use for executing tasks.</param>
            <param name="maxThreads">The maximum number of threads to use for executing tasks.</param>
        </member>
        <member name="M:System.Threading.Tasks.TaskManagerPolicy.#ctor(System.Int32)">
            <summary>
            Instantiates a new <see cref="T:System.Threading.Tasks.TaskManagerPolicy"/>. System defaults
            are used for all policy values not specified.
            </summary>
            <param name="maxStackSize">The maximum stack size to be used by worker threads, or 0 to use the default system stack size.</param>
        </member>
        <member name="M:System.Threading.Tasks.TaskManagerPolicy.#ctor(System.Boolean)">
            <summary>
            Instantiates a new <see cref="T:System.Threading.Tasks.TaskManagerPolicy"/>. System defaults are
            used for all policy values not specified.
            </summary>
            <param name="suppressExecutionContextFlow">Whether to suppress the execution context flow to tasks.</param>
        </member>
        <member name="M:System.Threading.Tasks.TaskManagerPolicy.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean)">
            <summary>
            Instantiates a new <see cref="T:System.Threading.Tasks.TaskManagerPolicy"/>. System defaults are
            used for all policy values not specified.
            </summary>
            <param name="minThreads">The minimum number of threads to use for executing tasks.</param>
            <param name="idealThreads">The ideal number of threads to use for executing tasks.</param>
            <param name="maxThreads">The maximum number of threads to use for executing tasks.</param>
            <param name="maxStackSize">The maximum stack size to be used by worker threads, or 0 to use the default system stack size.</param>
            <param name="suppressExecutionContextFlow">Whether to suppress the execution context flow to tasks.</param>
        </member>
        <member name="M:System.Threading.Tasks.TaskManagerPolicy.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Instantiates a new <see cref="T:System.Threading.Tasks.TaskManagerPolicy"/> with the supplied
            policy configuration.
            </summary>
            <param name="minThreads">The minimum number of threads to use for executing tasks.</param>
            <param name="idealThreads">The ideal number of threads to use for executing tasks.</param>
            <param name="maxThreads">The maximum number of threads to use for executing tasks.</param>
            <param name="maxStackSize">The maximum stack size to be used by worker threads, or 0 to use the default system stack size.</param>
            <param name="suppressExecutionContextFlow">Whether to suppress the execution context flow to tasks.</param>
            <param name="fatalUnhandledExceptions">Whether unhandled exceptions are fatal to the process.</param>
        </member>
        <member name="P:System.Threading.Tasks.TaskManagerPolicy.MinThreads">
            <summary>
            Gets the minimum number of threads to use for executing tasks on this <see
            cref="T:System.Threading.Tasks.TaskManagerPolicy"/>. The default is 1.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.TaskManagerPolicy.IdealThreads">
            <summary>
            Gets the ideal number of threads to use for executing tasks on this <see
            cref="T:System.Threading.Tasks.TaskManagerPolicy"/>. The default is equal to the number of
            processors.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.TaskManagerPolicy.MaxThreads">
            <summary>
            Gets the maximum number of threads to use for executing tasks on this <see
            cref="T:System.Threading.Tasks.TaskManagerPolicy"/>. The default is 0, meaning there is no
            maximum.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.TaskManagerPolicy.MaxStackSize">
            <summary>
            Gets the maximum stack size to be used by worker threads in this <see
            cref="T:System.Threading.Tasks.TaskManagerPolicy"/>. A value of 0 specifies that the size
            defaults to the value in the header for the executable.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.TaskManagerPolicy.SuppressExecutionContextFlow">
            <summary>
            Gets whether execution context flow to task should be suppressed. The default is false.
            </summary>
            <remarks>
            If <see cref="P:System.Threading.Tasks.TaskManagerPolicy.SuppressExecutionContextFlow"/> is true, execution context will never be flowed to
            a task created on the corresponding <see cref="T:System.Threading.Tasks.TaskManagerPolicy"/>. If
            <see cref="P:System.Threading.Tasks.TaskManagerPolicy.SuppressExecutionContextFlow"/> is false, however, an individual task operation can
            override this behavior by specifying <see cref="F:System.Threading.Tasks.TaskCreationOptions.SuppressExecutionContextFlow"/> when it is
            started.
            </remarks>
        </member>
        <member name="P:System.Threading.Tasks.TaskManagerPolicy.FatalUnhandledExceptions">
            <summary>
            Gets whether exceptions that go unhandled from tasks running on the corresponding <see
            cref="T:System.Threading.Tasks.TaskManagerPolicy"/>
            should be considered fatal and terminate the process.
            </summary>
        </member>
        <member name="T:System.Threading.Tasks.TaskManager">
            <summary>
            Represents a manager and scheduler of tasks.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.TaskManager.#ctor">
            <summary>Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskManager"/>
            using default policy settings.</summary>
        </member>
        <member name="M:System.Threading.Tasks.TaskManager.#ctor(System.Threading.Tasks.TaskManagerPolicy)">
            <summary>Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskManager"/>
            using the provided policy settings.</summary>
            <param name="policy">The <see cref="T:System.Threading.Tasks.TaskManagerPolicy"/> to use for
            controlling the behavior of this <see cref="T:System.Threading.Tasks.TaskManager"/>.</param>
            <remarks>
            <see cref="T:System.Threading.Tasks.TaskManagerPolicy"/> is immutable. In order to change a <see cref="T:System.Threading.Tasks.TaskManager"/>'s settings, a new policy needs to be stored into
            the <see cref="P:System.Threading.Tasks.TaskManager.Policy"/> property.
            </remarks>
            <exception cref="T:System.ArgumentNullException">The policy argument is null.</exception>
            <exception cref="T:System.Security.SecurityException">The caller does not have permission to use
            the specified policy.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskManager.RunBlocking(System.Action)">
            <summary>
            Executes a potentially-blocking action synchronously.
            </summary>
            <param name="action">The action to execute.</param>
            <remarks>While the action executes, the current thread is assumed to be blocked, and extra
            threads may be used to maintain the desired concurrency level.</remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is
            null.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskManager.RunBlocking``1(System.Func{``0})">
            <summary>
            Executes a potentially-blocking function synchronously and returns the function's return value.
            </summary>
            <typeparam name="T">The type of data returned by <paramref name="function"/>.</typeparam>
            <param name="function">The function to execute.</param>
            <returns>The return value of the executed function.</returns>
            <remarks>While the function executes, the current thread is assumed to be blocked, and
            extra threads may be used to maintain the desired concurrency level.</remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskManager.Shutdown">
            <summary>
            Shuts down the <see cref="T:System.Threading.Tasks.TaskManager"/>. The <see cref="T:System.Threading.Tasks.TaskManager"/> will not be available to schedule any more work
            after <see cref="M:System.Threading.Tasks.TaskManager.Shutdown"/> has been called.
            </summary>
            <exception cref="T:System.InvalidOperationException"><see cref="M:System.Threading.Tasks.TaskManager.Shutdown"/> can't be used on the
            default
            <see cref="T:System.Threading.Tasks.TaskManager"/>.</exception>
            <exception cref="T:System.InvalidOperationException">A <see cref="T:System.Threading.Tasks.TaskManager"/> can't be shut down from a task executing on that
            <see cref="T:System.Threading.Tasks.TaskManager"/>.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskManager.InternalShutdown(System.Boolean)">
            <summary>
            Shuts down the task manager, which entails terminating all worker threads.
            </summary>
            <param name="blocking">The shutdown is blocking, i.e. it will not return
            until all worker threads have definitely stopped working.</param>
        </member>
        <member name="M:System.Threading.Tasks.TaskManager.Finalize">
            <summary>
            Shuts down the <see cref="T:System.Threading.Tasks.TaskManager"/> asynchronously.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.TaskManager.Dispose">
            <summary>
            Shuts down the <see cref="T:System.Threading.Tasks.TaskManager"/> asynchronously. The <see cref="T:System.Threading.Tasks.TaskManager"/> will not be available to schedule any more work
            after <see cref="M:System.Threading.Tasks.TaskManager.Shutdown"/> has been called.
            </summary>
            <exception cref="T:System.InvalidOperationException"><see cref="M:System.Threading.Tasks.TaskManager.Shutdown"/> can't be used on the
            default
            <see cref="T:System.Threading.Tasks.TaskManager"/>.</exception>
            <exception cref="T:System.InvalidOperationException">A <see cref="T:System.Threading.Tasks.TaskManager"/> can't be shut down from a task executing on that
            <see cref="T:System.Threading.Tasks.TaskManager"/>.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskManager.StealTask(System.Threading.Tasks.VirtualProcessor)">
            <summary>
            Steals a task from another virtual processors, if one is available to run.
            </summary>
            <param name="requestingVproc">The processor requesting the task.</param>
            <returns>A stolen task or <c>null</c> if none were found.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskManager.StealReadyWorker(System.Threading.Tasks.VirtualProcessor)">
            <summary>
            Attempts to steal a ready worker from other virtual processors.
            </summary>
            <param name="requestingVproc">The processor requesting the worker.</param>
            <returns>A stolen worker or <c>null</c> if none were found.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskManager.NotifyPotentialWork">
            <summary>
            This is called when new work is enqueued, and will wake up the daemon thread if it
            is currently blocked waiting for new work to arrive.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.TaskManager.Default">
            <summary>Gets the default <see cref="T:System.Threading.Tasks.TaskManager"/>.</summary>
            <value>The default <see cref="T:System.Threading.Tasks.TaskManager"/> instance.</value>
            <remarks>
            The default <see cref="T:System.Threading.Tasks.TaskManager"/> is implicitly used for scheduling
            tasks when no <see cref="T:System.Threading.Tasks.TaskManager"/> is specified explicitly or when
            <see cref="P:System.Threading.Tasks.TaskManager.Current"/> is the default <see cref="T:System.Threading.Tasks.TaskManager"/>. This property will never return null (Nothing in
            Visual Basic). If <see cref="P:System.Threading.Tasks.TaskManager.Current"/> is not equal to <see cref="P:System.Threading.Tasks.TaskManager.Default"/>, tasks can be scheduled to run on the default
            <see cref="T:System.Threading.Tasks.TaskManager"/> explicitly by passing <see cref="P:System.Threading.Tasks.TaskManager.Default"/> to the appropriate task-creation methods.
            </remarks>
        </member>
        <member name="P:System.Threading.Tasks.TaskManager.Current">
            <summary>Gets the current <see cref="T:System.Threading.Tasks.TaskManager"/>.</summary>
            <value>The current <see cref="T:System.Threading.Tasks.TaskManager"/> instance.</value>
            <remarks>
            <see cref="P:System.Threading.Tasks.TaskManager.Current"/> represents the <see cref="T:System.Threading.Tasks.TaskManager"/> that will be used to start a task if no <see cref="T:System.Threading.Tasks.TaskManager"/>
            has been specified explicitly. <see cref="P:System.Threading.Tasks.TaskManager.Current"/> will
            return the
            <see cref="T:System.Threading.Tasks.TaskManager"/> used to start the nearest <see cref="T:System.Threading.Tasks.Task"/> in the logical call chain. As an example, if task T1 was
            started with <see cref="T:System.Threading.Tasks.TaskManager"/>
            M1, and if task T1 then started task T2 without explicitly specifying a <see cref="T:System.Threading.Tasks.TaskManager"/>, T2 would implicitly run with <see cref="T:System.Threading.Tasks.TaskManager"/> M1. Similarly, if task T2 started task T3 without
            specifying a
            <see cref="T:System.Threading.Tasks.TaskManager"/>, T3 would run with M1. However, if T3 then
            started task T4 with <see cref="T:System.Threading.Tasks.TaskManager"/> M2, and T4 started task
            T5 without explicitly specifying a <see cref="T:System.Threading.Tasks.TaskManager"/>, T5 would
            run with M2 rather than with M1. Note that if <see cref="P:System.Threading.Tasks.TaskManager.Current"/> would otherwise be unspecified, it will
            return
            <see cref="P:System.Threading.Tasks.TaskManager.Default"/>. As such, <see cref="P:System.Threading.Tasks.TaskManager.Current"/> will always return a valid <see cref="T:System.Threading.Tasks.TaskManager"/>.
            </remarks>
        </member>
        <member name="P:System.Threading.Tasks.TaskManager.Policy">
            <summary>
            Gets or sets the <see cref="T:System.Threading.Tasks.TaskManagerPolicy"/> used by this <see cref="T:System.Threading.Tasks.TaskManager"/>.
            </summary>
            <remarks>
            <see cref="T:System.Threading.Tasks.TaskManagerPolicy"/> is immutable.  In order to change a <see cref="T:System.Threading.Tasks.TaskManager"/>'s settings, a new policy needs to be stored
            into the <see cref="P:System.Threading.Tasks.TaskManager.Policy"/> property.
            </remarks>
        </member>
        <member name="P:System.Threading.Tasks.TaskManager.IsShutdown">
            <summary>
            Checks whether shutdown has been initiated.
            </summary>
        </member>
        <member name="T:System.Threading.Tasks.TaskManager.AntiStarvationDaemon">
            <summary>
            A daemon worker that handles injecting and retiring threads.
            @TODO: a lot of this logic should be factored out and run when tasks
                are queued, vs. waiting for the daemon to run.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.TaskManager.AntiStarvationDaemon.BlockOnIdle">
            <summary>
            This method waits for work to arrive at the queue.
            </summary>
        </member>
        <member name="T:System.Threading.Tasks.WorkerState">
            <summary>
            The state of a worker.
            </summary>
        </member>
        <member name="T:System.Threading.Tasks.Worker">
            <summary>
            A worker is an abstraction a control stack.
            </summary>
            <remarks>
            A worker can execute tasks. Since the CLR does not allow us to
            manipulate control stacks as such, we implement workers by associating
            them with a thread. This is more heavy weight but in practice we perform
            well. Workers are part of a <see cref="!:WorkerGroup"/>, in each group, only
            one worker executes while others are blocked. Since only one worker executes,
            the task queue is shared by all workers inside a group. The idea is that
            groups improve thread locality, where we try to associate one group per core.
            </remarks>
        </member>
        <member name="F:System.Threading.Tasks.Worker.group">
            <summary>The group this worker is part of (Workers can migrate)</summary>
        </member>
        <member name="F:System.Threading.Tasks.Worker.state">
            <summary>The WorkerState (as an int for use with interlocked operations)</summary>    
        </member>
        <member name="F:System.Threading.Tasks.Worker.stop">
            <summary>if set to true, this worker will terminate</summary>    
        </member>
        <member name="F:System.Threading.Tasks.Worker.id">
            <summary>the identity of this worker</summary>    
        </member>
        <member name="F:System.Threading.Tasks.Worker.blockedOn">
            <summary>The task this worker is blocked on.</summary>    
        </member>
        <member name="F:System.Threading.Tasks.Worker.signal">
            <summary>A worker waits for this signal to block itself</summary>    
        </member>
        <member name="F:System.Threading.Tasks.Worker.currentWorker">
            <summary>The current worker associated with this thread</summary>    
        </member>
        <member name="F:System.Threading.Tasks.Worker.thread">
            <summary>The thread associated with this worker</summary>
        </member>
        <member name="M:System.Threading.Tasks.Worker.#ctor(System.Int32)">
            <summary>
            Create a new worker within some parent group.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Worker.AttachToThread">
            <summary>
            Attach this worker to the calling thread.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Worker.ThrowIfStopped(System.Threading.Tasks.Task)">
            <summary>
            Throw an exception if the worker is stopped.
            </summary>
            <param name="taskToPush">If called from a <see cref="!:PushTask(Task,Schedule)"/>, pass the task to be pushed so that
            it can be canceled before throwing the exception.</param>
        </member>
        <member name="M:System.Threading.Tasks.Worker.ThrowIfStoppedOrCanceled">
            <summary>
            Throw an exception if the worker is stopped, or the current task (or any of its parents) is canceled.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Worker.RunAsync(System.Threading.Tasks.Task)">
            <summary>
            Run this worker asynchronously. This starts a new thread.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Worker.Run(System.Object)">
            <summary>
            This method is called when a new thread runs this worker.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Worker.ActivateUnBlock">
            <summary>
            Activate a blocked worker
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Worker.Activate(System.Threading.Tasks.Task)">
            <summary>
            Activate a frozen or just created worker
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Worker.Stop">
            <summary>
            Stop the worker (and its associated thread)
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Worker.TestReady">
            <summary>
            Test if blocked worker is ready to run again, and atomically switch to the 
            <see cref="F:System.Threading.Tasks.WorkerState.Switching"/> state.
            </summary>
            <returns>True if the worker is ready.</returns>
        </member>
        <member name="M:System.Threading.Tasks.Worker.DetachAndFreeze">
            <summary>
            Remove a worker from this group and return it to the global worker pool.
            Freeze the worker (and thread). This is used to put workers into the worker pool.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Worker.Block(System.Threading.Tasks.Task,System.DateTime)">
            <summary>
            Block the worker and associated thread until the <paramref name="joinTask"/> is completed.
            </summary>
            <param name="joinTask">The task to wait for</param>
            <param name="timeLimit">The time limit (or <c>DateTime.MinValue</c> for no limit)</param>
        </member>
        <member name="M:System.Threading.Tasks.Worker.JoinTask(System.Threading.Tasks.Task)">
            <summary>
            Join on a specified task.
            </summary>
            <param name="joinTask">The task to join on</param>
        </member>
        <member name="P:System.Threading.Tasks.Worker.State">
            <summary>
            The worker state as an enumeration.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Worker.Group">
            <summary>
            The current worker group that this worker belongs to.
            </summary>
        </member>
        <member name="T:System.Threading.Tasks.VirtualProcessor">
            <summary>
            A worker group is an abstraction for a processor.
            </summary>
            <remarks>
            Inside a worker group, only one worker is running and can access the task queue of
            this group. All other workers are blocked, or inactive. 
            Since we can not manipulate processors or stacks, we run each worker in a separate
            thread. The group is just used to improve locality.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.VirtualProcessor.StealTask">
            <summary>
            Steal work from from other worker groups.
            </summary>
            <returns><c>true</c> if work was stolen (and pushed on our task queue).</returns>
        </member>
        <member name="M:System.Threading.Tasks.VirtualProcessor.FindReadyWorker(System.Threading.Tasks.Worker)">
            <summary>
            Find a ready worker in our group, or try to steal one from
            another group.
            </summary>
            <param name="currentWorker">The current worker</param>
            <returns><c>true</c> if we switched</returns>
        </member>
        <member name="M:System.Threading.Tasks.VirtualProcessor.PopTask">
            <summary>
            Pop a task from the task queue.
            </summary>
            <returns>The popped task or <c>null</c></returns>
        </member>
        <member name="M:System.Threading.Tasks.VirtualProcessor.PushTask(System.Threading.Tasks.Task,System.Threading.Tasks.QueueFullPolicy)">
            <summary>
            Push a task on the task queue.
            </summary>
            <param name="task">The task that is pushed.</param>
            <param name="policy">The policy used when the task queue is full.</param>
        </member>
        <member name="M:System.Threading.Tasks.VirtualProcessor.SetException(System.Exception)">
            <summary>
            Called by a worker that experienced a fatal exception.
            </summary>
            <param name="exn">The exception</param>
        </member>
        <member name="M:System.Threading.Tasks.VirtualProcessor.AddWorker(System.Threading.Tasks.Worker)">
            <summary>
            Add a worker to this group and associate this worker with the group.
            </summary>
            <param name="worker">The added worker</param>
        </member>
        <member name="M:System.Threading.Tasks.VirtualProcessor.RemoveWorker(System.Threading.Tasks.Worker)">
            <summary>
            Remove a worker from this group.
            </summary>
            <param name="worker">The added worker</param>
        </member>
        <member name="M:System.Threading.Tasks.VirtualProcessor.Stop">
            <summary>
            Stop all workers in this group.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.VirtualProcessor.TakeTask">
            <summary>
            Steal a task from this groups work queue.
            </summary>
            <returns>The stolen task or <c>null</c>.</returns>
        </member>
        <member name="M:System.Threading.Tasks.VirtualProcessor.TakeReadyWorker">
            <summary>
            Steal a worker that is ready from this group.
            </summary>
            <returns>The stolen worker or <c>null</c></returns>
        </member>
        <member name="T:System.Threading.Tasks.Future`1">
            <summary>
            Represents a <see cref="T:System.Threading.Tasks.Task"/> which produces a value at some time in the
            future.
            </summary>
            <typeparam name="T">The type of the value assocatied with this <see
            cref="T:System.Threading.Tasks.Future{T}"/>.</typeparam>
        </member>
        <member name="T:System.Threading.Tasks.Task">
            <summary>
            Represents an asynchronous operation.
            </summary>
            <remarks><see cref="T:System.Threading.Tasks.Task"/> does not provide public constructors. Instances
            of
            <see cref="T:System.Threading.Tasks.Task"/> can only be created with factory methods present on the
            class.</remarks>
        </member>
        <member name="M:System.Threading.Tasks.Task.#ctor(System.Action{System.Object},System.Object,System.Threading.Tasks.TaskManager,System.Threading.Tasks.TaskCreationOptions,System.String)">
            <summary>
            An internal constructor used by the factory methods on task and its descendent(s).
            </summary>
            <param name="action"></param>
            <param name="taskManager"></param>
            <param name="creationOptions"></param>
            <param name="name"></param>
        </member>
        <member name="M:System.Threading.Tasks.Task.Create(System.Action{System.Object})">
            <summary>
            A factory method that instantiates a <see cref="T:System.Threading.Tasks.Task"/> and schedules it
            for execution.
            </summary>
            <param name="action">The action to execute.</param>
            <returns>The new <see cref="T:System.Threading.Tasks.Task"/> object.</returns>
            <remarks>The <see cref="T:System.Threading.Tasks.Task"/> will be created with the default
            <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> and will be run on the default <see cref="T:System.Threading.Tasks.TaskManager"/>.</remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is
            null.</exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.Create(System.Action{System.Object},System.Object)">
            <summary>
            A factory method that instantiates a <see cref="T:System.Threading.Tasks.Task"/> and schedules it
            for execution.
            </summary>
            <param name="action">The action to execute.</param>
            <param name="state">An object containing data to be used by the <paramref name="action"/>.</param>
            <returns>The new <see cref="T:System.Threading.Tasks.Task"/> object.</returns>
            <remarks>The <see cref="T:System.Threading.Tasks.Task"/> will be created with the default
            <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> and will be run on the default <see cref="T:System.Threading.Tasks.TaskManager"/>.</remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is
            null.</exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.Create(System.Action{System.Object},System.Threading.Tasks.TaskManager)">
            <summary>
            A factory method that instantiates a <see cref="T:System.Threading.Tasks.Task"/> and schedules it
            for execution.
            </summary>
            <param name="action">The action to execute.</param>
            <param name="taskManager">The <see cref="T:System.Threading.Tasks.TaskManager"/> to use to run
            the created <see cref="T:System.Threading.Tasks.Task"/>.</param>
            <returns>The new <see cref="T:System.Threading.Tasks.Task"/> object.</returns>
            <remarks>The <see cref="T:System.Threading.Tasks.Task"/> will be created with the default
            <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.</remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="taskManager"/> argument is
            null.</exception>
            <exception cref="T:System.InvalidOperationException">The specified <see cref="T:System.Threading.Tasks.TaskManager"/>
            has been shutdown.</exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.Create(System.Action{System.Object},System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            A factory method that instantiates a <see cref="T:System.Threading.Tasks.Task"/> and schedules it
            for execution.
            </summary>
            <param name="action">The action to execute.</param>
            <param name="options">Options that control the behavior of the created <see cref="T:System.Threading.Tasks.Task"/>.</param>
            <returns>The new <see cref="T:System.Threading.Tasks.Task"/> object.</returns>
            <remarks>The <see cref="T:System.Threading.Tasks.Task"/> will be run on the default <see cref="T:System.Threading.Tasks.TaskManager"/>.</remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="options"/> argument
            specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.</exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.Create(System.Action{System.Object},System.String)">
            <summary>
            A factory method that instantiates a <see cref="T:System.Threading.Tasks.Task"/> and schedules it
            for execution.
            </summary>
            <param name="action">The action to execute.</param>
            <param name="name">A name to assign to the <see cref="T:System.Threading.Tasks.Task"/>. This name
            is not used by the system and is intended primarily for debugging purposes.</param>
            <returns>The new <see cref="T:System.Threading.Tasks.Task"/> object.</returns>
            <remarks>The <see cref="T:System.Threading.Tasks.Task"/> will be created with the default
            <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> and will be run on the default <see cref="T:System.Threading.Tasks.TaskManager"/>.</remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is
            null.</exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.Create(System.Action{System.Object},System.Threading.Tasks.TaskManager,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            A factory method that instantiates a <see cref="T:System.Threading.Tasks.Task"/> and schedules it
            for execution.
            </summary>
            <param name="action">The action to execute.</param>
            <param name="options">Options that control the behavior of the created <see cref="T:System.Threading.Tasks.Task"/>.</param>
            <param name="taskManager">The <see cref="T:System.Threading.Tasks.TaskManager"/> to use to run
            the created <see cref="T:System.Threading.Tasks.Task"/>.</param>
            <returns>The new <see cref="T:System.Threading.Tasks.Task"/> object.</returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="taskManager"/> argument is
            null.</exception>
            <exception cref="T:System.InvalidOperationException">The specified <see cref="T:System.Threading.Tasks.TaskManager"/>
            has been shutdown.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="options"/> argument
            specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.</exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.Create(System.Action{System.Object},System.Threading.Tasks.TaskManager,System.Threading.Tasks.TaskCreationOptions,System.String)">
            <summary>
            A factory method that instantiates a <see cref="T:System.Threading.Tasks.Task"/> and schedules it
            for execution.
            </summary>
            <param name="action">The action to execute.</param>
            <param name="options">Options that control the behavior of the created <see cref="T:System.Threading.Tasks.Task"/>.</param>
            <param name="taskManager">The <see cref="T:System.Threading.Tasks.TaskManager"/> to use to run
            the created <see cref="T:System.Threading.Tasks.Task"/>.</param>
            <param name="name">A name to assign to the <see cref="T:System.Threading.Tasks.Task"/>. This name
            is not used by the system and is intended primarily for debugging purposes.</param>
            <returns>The new <see cref="T:System.Threading.Tasks.Task"/> object.</returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="taskManager"/> argument is
            null.</exception>
            <exception cref="T:System.InvalidOperationException">The specified <see cref="T:System.Threading.Tasks.TaskManager"/>
            has been shutdown.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="options"/> argument
            specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.</exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.Create(System.Action{System.Object},System.Object,System.Threading.Tasks.TaskManager,System.Threading.Tasks.TaskCreationOptions,System.String)">
            <summary>
            A factory method that instantiates a <see cref="T:System.Threading.Tasks.Task"/> and schedules it
            for execution.
            </summary>
            <param name="action">The action to execute.</param>
            <param name="state">An object containing data to be used by the <paramref name="action"/>.</param>
            <param name="options">Options that control the behavior of the created <see cref="T:System.Threading.Tasks.Task"/>.</param>
            <param name="taskManager">The <see cref="T:System.Threading.Tasks.TaskManager"/> to use to run
            the created <see cref="T:System.Threading.Tasks.Task"/>.</param>
            <param name="name">A name to assign to the <see cref="T:System.Threading.Tasks.Task"/>. This name
            is not used by the system and is intended primarily for debugging purposes.</param>
            <returns>The new <see cref="T:System.Threading.Tasks.Task"/> object.</returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="taskManager"/> argument is
            null.</exception>
            <exception cref="T:System.InvalidOperationException">The specified <see cref="T:System.Threading.Tasks.TaskManager"/>
            has been shutdown.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="options"/> argument
            specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.</exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.ThrowIfDisposed">
            <summary>
            Throws an exception if the task has been disposed, and hence can no longer be accessed.
            </summary>
            <exception cref="T:System.ObjectDisposedException">The task has been disposed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.InvokeCompletionHandler(System.EventHandler)">
            <summary>
            Invokes the specified completion handler on a separate task.
            </summary>
            <param name="handler">The handler to invoke.</param>
        </member>
        <member name="M:System.Threading.Tasks.Task.Cancel">
            <summary>
            Cancels the <see cref="T:System.Threading.Tasks.Task"/>.
            </summary>
            <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Threading.Tasks.Task"/>
            has been disposed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.Wait(System.Int32)">
            <summary>
            Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
            </summary>
            <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to wait indefinitely.</param>
            <returns>true if the <see cref="T:System.Threading.Tasks.Task"/> completed execution within the
            allotted time; otherwise, false.</returns>
            <exception cref="T:System.Threading.AggregateException">The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during the
            execution of the <see cref="T:System.Threading.Tasks.Task"/>.</exception>
            <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Threading.Tasks.Task"/>
            has been disposed.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
            negative number other than -1, which represents an infinite time-out.</exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.WaitTree">
            <summary>
            Waits on the whole tree of tasks to finish.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Task.Dispose">
            <summary>
            Disposes the <see cref="T:System.Threading.Tasks.Task"/>, releasing all of its unmanaged resources.
            </summary>
            <remarks>This method is not thread-safe.</remarks>
            <exception cref="T:System.InvalidOperationException">The <see
            cref="T:System.Threading.Tasks.Task"/> has not completed execution.</exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.InternalStart">
            <summary>
            Schedules the task for execution.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Task.InternalIsReady(System.DateTime)">
            <summary>
            Checks whether the task is completed, or the time limit has expired.
            </summary>
            <param name="timeLimit">A time limit for timeouts.</param>
            <returns></returns>
        </member>
        <member name="M:System.Threading.Tasks.Task.ThrowIfCurrentCanceled">
            <summary>
            Throws an appropriate exception if the currently executing task is canceled.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Task.ThrowIfCanceled">
            <summary>
            Throws an appropriate exception if the target task has been canceled.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Task.AddException(System.Exception)">
            <summary>
            Adds an exception to the list of exceptions this task has thrown.
            </summary>
            <param name="e">An exception object.</param>
        </member>
        <member name="M:System.Threading.Tasks.Task.ThrowIfExceptional">
            <summary>
            Throws an aggregate exception if the task contains exceptions.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Task.CaptureExecutionContext">
            <summary>
            This method is called by the TaskManager to capture the calling context.  We ignore
            the request if the task was constructed to suppress flowing it.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Task.Finish">
            <summary>
            Signals completion of this particular task.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Task.FinishTree">
            <summary>
            Signals completion of the entire tree of tasks beneath this one.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Task.Execute">
            <summary>
            Executes the task. This method will only be called once, and handles bookeeping associated with
            self-replicating tasks, in addition to performing necessary exception marshaling.
            </summary>
            <exception cref="T:System.ObjectDisposedException">The task has already been disposed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.Invoke">
            <summary>
            The actual code which invokes the body of the task. This can be overriden in derived types.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Task.Current">
            <summary>
            Gets the <see cref="T:System.Threading.Tasks.Task"/> currently executing, or null if none exists.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Task.Exception">
            <summary>
            Gets the <see cref="T:System.Exception"/> that caused the <see cref="T:System.Threading.Tasks.Task"/> to end prematurely. If the <see cref="T:System.Threading.Tasks.Task"/> completed successfully or has not yet thrown any
            exceptions, this will return null.
            </summary>
            <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Threading.Tasks.Task"/>
            has been disposed.</exception>
        </member>
        <member name="P:System.Threading.Tasks.Task.IsCanceled">
            <summary>
            Gets whether this <see cref="T:System.Threading.Tasks.Task"/> has been canceled.
            </summary>
            <exception cref="T:System.ObjectDisposedException">The <see
            cref="T:System.Threading.Tasks.Task"/>
            has been disposed.</exception>
        </member>
        <member name="P:System.Threading.Tasks.Task.IsCompleted">
            <summary>
            Gets whether this <see cref="T:System.Threading.Tasks.Task"/> has completed.
            </summary>
            <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Threading.Tasks.Task"/>
            has been disposed.</exception>
        </member>
        <member name="P:System.Threading.Tasks.Task.IsDisposed">
            <summary>
            Checks whether this task has been disposed.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Task.Name">
            <summary>
            Gets or sets the name of this <see cref="T:System.Threading.Tasks.Task"/>.
            </summary>
            <remarks>The <see cref="P:System.Threading.Tasks.Task.Name"/> property is not used by the system and is intended primarily for debugging
            purposes.</remarks>
            <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Threading.Tasks.Task"/>
            has been disposed.</exception>
        </member>
        <member name="P:System.Threading.Tasks.Task.Parent">
            <summary>
            Gets the parent <see cref="T:System.Threading.Tasks.Task"/> of this <see
            cref="T:System.Threading.Tasks.Task"/>, if one exists, or null if there is no parent.
            </summary>
            <remarks>The parent of a <see cref="T:System.Threading.Tasks.Task"/> is the <see
            cref="T:System.Threading.Tasks.Task"/> that was current when the new <see
            cref="T:System.Threading.Tasks.Task"/> was created.</remarks>
            <exception cref="T:System.ObjectDisposedException">The <see
            cref="T:System.Threading.Tasks.Task"/>
            has been disposed.</exception>
        </member>
        <member name="P:System.Threading.Tasks.Task.TaskCreationOptions">
            <summary>
            Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> used to create this task.
            </summary>
            <exception cref="T:System.ObjectDisposedException">The <see
            cref="T:System.Threading.Tasks.Task"/>
            has been disposed.</exception>
        </member>
        <member name="P:System.Threading.Tasks.Task.AsyncWaitHandle">
            <summary>
            Gets a <see cref="T:System.Threading.WaitHandle"/> that can be used to wait for the task to
            complete.
            </summary>
            <remarks>Using the wait functionality provided by <see cref="T:System.Threading.Tasks.Task"/>
            and <see cref="T:System.Threading.Tasks.TaskCoordinator"/> should be preferred over using <see cref="P:System.Threading.Tasks.Task.AsyncWaitHandle"/> for similar functionality.</remarks>
            <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Threading.Tasks.Task"/>
            has been disposed.</exception>
        </member>
        <member name="P:System.Threading.Tasks.Task.AsyncState">
            <summary>
            Gets the state object supplied when the <see cref="T:System.Threading.Tasks.Task"/> was created,
            or null if none was supplied.
            </summary>
            <exception cref="T:System.ObjectDisposedException">The <see
            cref="T:System.Threading.Tasks.Task"/>
            has been disposed.</exception>
        </member>
        <member name="P:System.Threading.Tasks.Task.System#IAsyncResult#CompletedSynchronously">
            <summary>
            Gets an indication of whether the asynchronous operation completed synchronously.
            </summary>
            <value>true if the asynchronous operation completed synchronously; otherwise, false.</value>
            <exception cref="T:System.ObjectDisposedException">The <see
            cref="T:System.Threading.Tasks.Task"/>
            has been disposed.</exception>
        </member>
        <member name="E:System.Threading.Tasks.Task.Completed">
            <summary>
            Occurs when the <see cref="T:System.Threading.Tasks.Task"/> has completed execution.
            </summary>
            <exception cref="T:System.ArgumentNullException">The value is null.</exception>
            <exception cref="T:System.ObjectDisposedException">The <see
            cref="T:System.Threading.Tasks.Task"/>
            has been disposed.</exception>
        </member>
        <member name="P:System.Threading.Tasks.Task.ExecutingTaskManager">
            <summary>
            Provides access to the TaskManager responsible for executing this Task.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Task.CompletedEvent">
            <summary>
            Provides an event that can be used to wait for completion.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Task.IsSelfReplicating">
            <summary>
            Determines whether the task is self replicating.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Task.IsExceptional">
            <summary>
            A simple helper which indicates whether the task has thrown exceptions.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Future`1.#ctor(System.Func{`0},System.Threading.Tasks.TaskManager,System.Threading.Tasks.TaskCreationOptions,System.String)">
            <summary>
            Creates a new future object.
            </summary>
            <param name="valueSelector">A function that yields the future value.</param>
            <param name="taskManager">The task manager which will be used to execute the future.</param>
            <param name="options">Options to control the future's behavior.</param>
            <param name="name">The name of the future, for debugging/diagnostics purposes.</param>
        </member>
        <member name="M:System.Threading.Tasks.Future`1.Create">
            <summary>
            Creates a new <see cref="T:System.Threading.Tasks.Future{T}"/> object. The
            <see cref="T:System.Threading.Tasks.Future{T}"/> is not associated with a <see
            cref="T:System.Func{T}"/> and will only be complete when its value is explicitly set.
            </summary>
            <returns>A new <see cref="T:System.Threading.Tasks.Future{T}"/> object.</returns>
        </member>
        <member name="M:System.Threading.Tasks.Future`1.Create(System.Func{`0})">
            <summary>
            Creates a new <see cref="T:System.Threading.Tasks.Future{T}"/> object. The <see cref="T:System.Threading.Tasks.Future{T}"/> is associated with the provided
            <see cref="T:System.Func{T}"/> and will have its <see cref="P:System.Threading.Tasks.Future`1.Value"/> property set to the result
            of the function when the function has completed asynchronous execution.
            </summary>
            <param name="valueSelector">A <see cref="T:System.Func{T}"/> that yields the future
            value.</param>
            <returns>A new <see cref="T:System.Threading.Tasks.Future{T}"/> object.</returns>
            <remarks>The <see cref="T:System.Threading.Tasks.Future{T}"/> will be created with the default
            <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> and will be run on the default <see cref="T:System.Threading.Tasks.TaskManager"/>.</remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="valueSelector"/> argument is
            null.</exception>
        </member>
        <member name="M:System.Threading.Tasks.Future`1.Create(System.Func{`0},System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Creates a new <see cref="T:System.Threading.Tasks.Future{T}"/> object. The <see cref="T:System.Threading.Tasks.Future{T}"/> is associated with the provided
            <see cref="T:System.Func{T}"/> and will have its <see cref="P:System.Threading.Tasks.Future`1.Value"/> property set to the result
            of the function when the function has completed asynchronous execution.
            </summary>
            <param name="valueSelector">A <see cref="T:System.Func{T}"/> that yields the future
            value.</param>
            <param name="options">Options that control the behavior of the created <see cref="T:System.Threading.Tasks.Future{T}"/>.</param>
            <returns>A new <see cref="T:System.Threading.Tasks.Future{T}"/> object.</returns>
            <remarks>The <see cref="T:System.Threading.Tasks.Future{T}"/> will be run on the default <see cref="T:System.Threading.Tasks.TaskManager"/>.</remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="valueSelector"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="options"/> argument
            specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.</exception>
        </member>
        <member name="M:System.Threading.Tasks.Future`1.Create(System.Func{`0},System.Threading.Tasks.TaskManager)">
            <summary>
            Creates a new <see cref="T:System.Threading.Tasks.Future{T}"/> object. The <see cref="T:System.Threading.Tasks.Future{T}"/> is associated with the provided
            <see cref="T:System.Func{T}"/> and will have its <see cref="P:System.Threading.Tasks.Future`1.Value"/> property set to the result
            of the function when the function has completed asynchronous execution.
            </summary>
            <param name="valueSelector">A <see cref="T:System.Func{T}"/> that yields the future
            value.</param>
            <param name="taskManager">The <see cref="T:System.Threading.Tasks.TaskManager"/> to use to run
            the created <see cref="T:System.Threading.Tasks.Future{T}"/>.</param>
            <returns>A new <see cref="T:System.Threading.Tasks.Future{T}"/> object.</returns>
            <remarks>The <see cref="T:System.Threading.Tasks.Future{T}"/> will be created with the default
            <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.</remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="valueSelector"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="taskManager"/> argument is
            null.</exception>
            <exception cref="T:System.InvalidOperationException">The specified <see cref="T:System.Threading.Tasks.TaskManager"/>
            has been shutdown.</exception>
        </member>
        <member name="M:System.Threading.Tasks.Future`1.Create(System.Func{`0},System.String)">
            <summary>
            Creates a new <see cref="T:System.Threading.Tasks.Future{T}"/> object. The <see cref="T:System.Threading.Tasks.Future{T}"/> is associated with the provided
            <see cref="T:System.Func{T}"/> and will have its <see cref="P:System.Threading.Tasks.Future`1.Value"/> property set to the result
            of the function when the function has completed asynchronous execution.
            </summary>
            <param name="valueSelector">A <see cref="T:System.Func{T}"/> that yields the future
            value.</param>
            <param name="name">A name to assign to the <see cref="T:System.Threading.Tasks.Future{T}"/>. This
            name is not used by the system and is intended primarily for debugging purposes.</param>
            <returns>A new <see cref="T:System.Threading.Tasks.Future{T}"/> object.</returns>
            <remarks>The <see cref="T:System.Threading.Tasks.Future{T}"/> will be created with the default
            <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> and will be run on the default <see cref="T:System.Threading.Tasks.TaskManager"/>.</remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="valueSelector"/> argument is
            null.</exception>
        </member>
        <member name="M:System.Threading.Tasks.Future`1.Create(System.Func{`0},System.Threading.Tasks.TaskManager,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Creates a new <see cref="T:System.Threading.Tasks.Future{T}"/> object. The <see cref="T:System.Threading.Tasks.Future{T}"/> is associated with the provided
            <see cref="T:System.Func{T}"/> and will have its <see cref="P:System.Threading.Tasks.Future`1.Value"/> property set to the result
            of the function when the function has completed asynchronous execution.
            </summary>
            <param name="valueSelector">A <see cref="T:System.Func{T}"/> that yields the future
            value.</param>
            <param name="taskManager">The <see cref="T:System.Threading.Tasks.TaskManager"/> to use to run
            the created <see cref="T:System.Threading.Tasks.Future{T}"/>.</param>
            <param name="options">Options that control the behavior of the created <see cref="T:System.Threading.Tasks.Future{T}"/>.</param>
            <returns>A new <see cref="T:System.Threading.Tasks.Future{T}"/> object.</returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="valueSelector"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="taskManager"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="options"/> argument
            specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.</exception>
            <exception cref="T:System.InvalidOperationException">The specified <see cref="T:System.Threading.Tasks.TaskManager"/>
            has been shutdown.</exception>
        </member>
        <member name="M:System.Threading.Tasks.Future`1.Create(System.Func{`0},System.Threading.Tasks.TaskManager,System.Threading.Tasks.TaskCreationOptions,System.String)">
            <summary>
            Creates a new <see cref="T:System.Threading.Tasks.Future{T}"/> object. The <see cref="T:System.Threading.Tasks.Future{T}"/> is associated with the provided
            <see cref="T:System.Func{T}"/> and will have its <see cref="P:System.Threading.Tasks.Future`1.Value"/> property set to the result
            of the function when the function has completed asynchronous execution.
            </summary>
            <param name="valueSelector">A <see cref="T:System.Func{T}"/> that yields the future
            value.</param>
            <param name="taskManager">The <see cref="T:System.Threading.Tasks.TaskManager"/> to use to run
            the created <see cref="T:System.Threading.Tasks.Future{T}"/>.</param>
            <param name="options">Options that control the behavior of the created <see cref="T:System.Threading.Tasks.Future{T}"/>.</param>
            <param name="name">A name to assign to the <see cref="T:System.Threading.Tasks.Future{T}"/>. This
            name is not used by the system and is intended primarily for debugging purposes.</param>
            <returns>A new <see cref="T:System.Threading.Tasks.Future{T}"/> object.</returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="valueSelector"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="taskManager"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="options"/> argument
            specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.</exception>
            <exception cref="T:System.InvalidOperationException">The specified <see cref="T:System.Threading.Tasks.TaskManager"/>
            has been shutdown.</exception>
        </member>
        <member name="M:System.Threading.Tasks.Future`1.Invoke">
            <summary>
            Invokes the value selector function and stores the result.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Future`1.Value">
            <summary>
            Gets or sets the value of this <see cref="T:System.Threading.Tasks.Future{T}"/>.
            </summary>
            <remarks>
            The get accessor for this property calls <see cref="M:System.Threading.Tasks.TaskCoordinator.Wait"/> to ensure the asynchronous computation is
            complete before returning. Once the result of the computation is available, it is stored and will
            be returned immediately on later calls to <see cref="P:System.Threading.Tasks.Future`1.Value"/>. If the <see cref="T:System.Threading.Tasks.Future{T}"/> was provided with a <see cref="T:System.Func{T}"/>
            when created, the <see cref="P:System.Threading.Tasks.Future`1.Value"/> property can only be set internally by the <see cref="T:System.Threading.Tasks.Future{T}"/>, any attempts to set it manually will result in an
            exception. Conversely, a <see cref="T:System.Threading.Tasks.Future{T}"/> created without a <see cref="T:System.Func{T}"/> can only be set manually, and it can only be set once. Attempting to
            set such an instance's <see cref="P:System.Threading.Tasks.Future`1.Value"/> property multiple times will result in an exception.
            </remarks>
        </member>
        <member name="P:System.Threading.Tasks.Future`1.Exception">
            <summary>
            Gets or sets the <see cref="T:System.Exception"/> that caused the execution of the <see cref="T:System.Threading.Tasks.Future{T}"/> to end prematurely.
            </summary>
            <remarks>
            The set accessor may only be used to set the <see cref="P:System.Threading.Tasks.Future`1.Exception"/> property if the
            <see cref="T:System.Threading.Tasks.Future{T}"/> instance was created without a <see cref="T:System.Func{T}"/>. Attempting to set <see cref="P:System.Threading.Tasks.Future`1.Exception"/> for a <see cref="T:System.Threading.Tasks.Future{T}"/> created with a <see cref="T:System.Func{T}"/>
            will result in an exception.
            </remarks>
        </member>
        <member name="T:System.Threading.Tasks.Future">
            <summary>
            A factory class used to create instances of <see cref="T:System.Threading.Tasks.Future{T}"/>.
            </summary>
            <remarks>
            <see cref="T:System.Threading.Tasks.Future{T}"/> provides Create methods as does <see cref="T:System.Threading.Tasks.Future"/>. However, <see cref="T:System.Threading.Tasks.Future"/>
            supports type inferencing in languages like C#. For example, with <see cref="T:System.Threading.Tasks.Future"/> it is possible to write:
            <code>var f = Future.Create(() =&gt; g());</code>
            The C# compiler will infer the type argument to the <see cref="M:System.Threading.Tasks.Future.Create``1(System.Func{``0})"/> factory
            method by inspecting the return value of the method g. It cannot do this for type parameters for
            types.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.Future.Create``1">
            <summary>
            Creates a new <see cref="T:System.Threading.Tasks.Future{T}"/> object. The
            <see cref="T:System.Threading.Tasks.Future{T}"/> is not associated with a <see
            cref="T:System.Func{T}"/> and will only be complete when its value is explicitly set.
            </summary>
            <typeparam name="T">The type of the value associated with the <see
            cref="T:System.Threading.Tasks.Future{T}"/> to create.</typeparam>
            <returns>A new <see cref="T:System.Threading.Tasks.Future{T}"/> object.</returns>
        </member>
        <member name="M:System.Threading.Tasks.Future.Create``1(System.Func{``0})">
            <summary>
            Creates a new <see cref="T:System.Threading.Tasks.Future{T}"/> object. The <see cref="T:System.Threading.Tasks.Future{T}"/> is associated with the provided
            <see cref="T:System.Func{T}"/> and will have its <see cref="P:System.Threading.Tasks.Future`1.Value"/> property set to the result of the function when
            the function has completed asynchronous execution.
            </summary>
            <typeparam name="T">The type of the value associated with the <see cref="T:System.Threading.Tasks.Future{T}"/> to create.</typeparam>
            <param name="valueSelector">A <see cref="T:System.Func{T}"/> that yields the future
            value.</param>
            <returns>A new <see cref="T:System.Threading.Tasks.Future{T}"/> object.</returns>
            <remarks>The <see cref="T:System.Threading.Tasks.Future{T}"/> will be created with the default
            <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> and will be run on the default <see cref="T:System.Threading.Tasks.TaskManager"/>.</remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="valueSelector"/> argument is
            null.</exception>
        </member>
        <member name="M:System.Threading.Tasks.Future.Create``1(System.Func{``0},System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Creates a new <see cref="T:System.Threading.Tasks.Future{T}"/> object. The <see cref="T:System.Threading.Tasks.Future{T}"/> is associated with the provided
            <see cref="T:System.Func{T}"/> and will have its <see cref="P:System.Threading.Tasks.Future`1.Value"/> property set to the result of the function when
            the function has completed asynchronous execution.
            </summary>
            <typeparam name="T">The type of the value associated with the <see cref="T:System.Threading.Tasks.Future{T}"/> to create.</typeparam>
            <param name="valueSelector">A <see cref="T:System.Func{T}"/> that yields the future
            value.</param>
            <param name="options">Options that control the behavior of the created <see cref="T:System.Threading.Tasks.Future{T}"/>.</param>
            <returns>A new <see cref="T:System.Threading.Tasks.Future{T}"/> object.</returns>
            <remarks>The <see cref="T:System.Threading.Tasks.Future{T}"/> will be run on the default <see cref="T:System.Threading.Tasks.TaskManager"/>.</remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="valueSelector"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="options"/> argument
            specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.</exception>
        </member>
        <member name="M:System.Threading.Tasks.Future.Create``1(System.Func{``0},System.Threading.Tasks.TaskManager)">
            <summary>
            Creates a new <see cref="T:System.Threading.Tasks.Future{T}"/> object. The <see cref="T:System.Threading.Tasks.Future{T}"/> is associated with the provided
            <see cref="T:System.Func{T}"/> and will have its <see cref="P:System.Threading.Tasks.Future`1.Value"/> property set to the result of the function when
            the function has completed asynchronous execution.
            </summary>
            <typeparam name="T">The type of the value associated with the <see cref="T:System.Threading.Tasks.Future{T}"/> to create.</typeparam>
            <param name="valueSelector">A <see cref="T:System.Func{T}"/> that yields the future
            value.</param>
            <param name="taskManager">The <see cref="T:System.Threading.Tasks.TaskManager"/> to use to run
            the created <see cref="T:System.Threading.Tasks.Future{T}"/>.</param>
            <returns>A new <see cref="T:System.Threading.Tasks.Future{T}"/> object.</returns>
            <remarks>The <see cref="T:System.Threading.Tasks.Future{T}"/> will be created with the default
            <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.</remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="valueSelector"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="taskManager"/> argument is
            null.</exception>
            <exception cref="T:System.InvalidOperationException">The specified <see cref="T:System.Threading.Tasks.TaskManager"/>
            has been shutdown.</exception>
        </member>
        <member name="M:System.Threading.Tasks.Future.Create``1(System.Func{``0},System.String)">
            <summary>
            Creates a new <see cref="T:System.Threading.Tasks.Future{T}"/> object. The <see cref="T:System.Threading.Tasks.Future{T}"/> is associated with the provided
            <see cref="T:System.Func{T}"/> and will have its <see cref="P:System.Threading.Tasks.Future`1.Value"/> property set to the result of the function when
            the function has completed asynchronous execution.
            </summary>
            <typeparam name="T">The type of the value associated with the <see cref="T:System.Threading.Tasks.Future{T}"/> to create.</typeparam>
            <param name="valueSelector">A <see cref="T:System.Func{T}"/> that yields the future
            value.</param>
            <param name="name">A name to assign to the <see cref="T:System.Threading.Tasks.Future{T}"/>. This
            name is not used by the system and is intended primarily for debugging purposes.</param>
            <returns>A new <see cref="T:System.Threading.Tasks.Future{T}"/> object.</returns>
            <remarks>The <see cref="T:System.Threading.Tasks.Future{T}"/> will be created with the default
            <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> and will be run on the default <see cref="T:System.Threading.Tasks.TaskManager"/>.</remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="valueSelector"/> argument is
            null.</exception>
        </member>
        <member name="M:System.Threading.Tasks.Future.Create``1(System.Func{``0},System.Threading.Tasks.TaskManager,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Creates a new <see cref="T:System.Threading.Tasks.Future{T}"/> object. The <see cref="T:System.Threading.Tasks.Future{T}"/> is associated with the provided
            <see cref="T:System.Func{T}"/> and will have its <see cref="P:System.Threading.Tasks.Future`1.Value"/> property set to the result of the function when
            the function has completed asynchronous execution.
            </summary>
            <typeparam name="T">The type of the value associated with the <see cref="T:System.Threading.Tasks.Future{T}"/> to create.</typeparam>
            <param name="valueSelector">A <see cref="T:System.Func{T}"/> that yields the future
            value.</param>
            <param name="taskManager">The <see cref="T:System.Threading.Tasks.TaskManager"/> to use to run
            the created <see cref="T:System.Threading.Tasks.Future{T}"/>.</param>
            <param name="options">Options that control the behavior of the created <see cref="T:System.Threading.Tasks.Future{T}"/>.</param>
            <returns>A new <see cref="T:System.Threading.Tasks.Future{T}"/> object.</returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="valueSelector"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="taskManager"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="options"/> argument
            specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.</exception>
            <exception cref="T:System.InvalidOperationException">The specified <see cref="T:System.Threading.Tasks.TaskManager"/>
            has been shutdown.</exception>
        </member>
        <member name="M:System.Threading.Tasks.Future.Create``1(System.Func{``0},System.Threading.Tasks.TaskManager,System.Threading.Tasks.TaskCreationOptions,System.String)">
            <summary>
            Creates a new <see cref="T:System.Threading.Tasks.Future{T}"/> object. The <see cref="T:System.Threading.Tasks.Future{T}"/> is associated with the provided
            <see cref="T:System.Func{T}"/> and will have its <see cref="P:System.Threading.Tasks.Future`1.Value"/> property set to the result of the function when
            the function has completed asynchronous execution.
            </summary>
            <typeparam name="T">The type of the value associated with the <see cref="T:System.Threading.Tasks.Future{T}"/> to create.</typeparam>
            <param name="valueSelector">A <see cref="T:System.Func{T}"/> that yields the future
            value.</param>
            <param name="taskManager">The <see cref="T:System.Threading.Tasks.TaskManager"/> to use to run
            the created <see cref="T:System.Threading.Tasks.Future{T}"/>.</param>
            <param name="options">Options that control the behavior of the created <see cref="T:System.Threading.Tasks.Future{T}"/>.</param>
            <param name="name">A name to assign to the <see cref="T:System.Threading.Tasks.Future{T}"/>. This
            name is not used by the system and is intended primarily for debugging purposes.</param>
            <returns>A new <see cref="T:System.Threading.Tasks.Future{T}"/> object.</returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="valueSelector"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="taskManager"/> argument is
            null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="options"/> argument
            specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.</exception>
            <exception cref="T:System.InvalidOperationException">The specified <see cref="T:System.Threading.Tasks.TaskManager"/>
            has been shutdown.</exception>
        </member>
        <member name="T:System.Threading.Tasks.TaskCreationOptions">
            <summary>
            Specifies flags that control optional behavior for the creation and execution of tasks.
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.TaskCreationOptions.None">
            <summary>Specifies that default behavior should be used.</summary>
        </member>
        <member name="F:System.Threading.Tasks.TaskCreationOptions.SuppressExecutionContextFlow">
            <summary>Specifies that a task will not be executed under the execution context present when the
            task is started.</summary>
        </member>
        <member name="F:System.Threading.Tasks.TaskCreationOptions.RespectParentCancelation">
            <summary>Specifies that a task inherits cancelation from its parent.</summary>
        </member>
        <member name="F:System.Threading.Tasks.TaskCreationOptions.SelfReplicating">
            <summary>Specifies that a task will self-replicate as processors become available.</summary>
        </member>
        <member name="T:System.Threading.ParallelState">
            <summary>
            Allows independent iterations of a parallel loop to interact with other iterations.
            </summary>
        </member>
        <member name="M:System.Threading.ParallelState.#ctor(System.Threading.ParallelStateStoppedFlag)">
            <summary>
            Internal constructor to ensure an instance isn't created by users.
            </summary>
            <param name="sharedStoppedFlag">A flag shared among all threads participating
            in the execution of a certain loop.</param>
        </member>
        <member name="M:System.Threading.ParallelState.Stop">
            <summary>
            Communicates that the parallel loop should be stopped at the system's earliest convenience.
            </summary>
            <remarks>
            This is shared with all other concurrent threads in the system which are participating in the
            loop's execution. After calling <see cref="M:System.Threading.ParallelState.Stop"/>, no additional iterations will be executed on
            the current thread.
            </remarks>
        </member>
        <member name="P:System.Threading.ParallelState.IsStopped">
            <summary>
            Gets whether a request has been issued to stop the loop.
            </summary>
        </member>
        <member name="T:System.Threading.ParallelStateStoppedFlag">
            <summary>
            An internal class used to share a single boolean.
            </summary>
        </member>
        <member name="T:System.Threading.ParallelState`1">
            <summary>
            Extends the base <see cref="T:System.Threading.ParallelState"/> class with a place-holder for
            thread-local state.
            </summary>
            <remarks>This type does not enforce the thread-local state's isolation, but that is its intended
            usage and purpose, hence the naming.</remarks>
            <typeparam name="TLocal">The type of the thread-local state.</typeparam>
        </member>
        <member name="M:System.Threading.ParallelState`1.#ctor(System.Threading.ParallelStateStoppedFlag,`0)">
            <summary>
            Internal constructor to ensure an instance isn't created by users.
            </summary>
            <param name="sharedStoppedFlag">A flag shared among all threads participating
            in the execution of a certain loop.</param>
            <param name="threadLocalState">The state local to a single thread.</param>
        </member>
        <member name="P:System.Threading.ParallelState`1.ThreadLocalState">
            <summary>
            Gets the thread-local state for this <see cref="T:System.Threading.ParallelState"/> instance.
            </summary>
        </member>
        <member name="T:System.Linq.ParallelQueryOptions">
            <summary>
            Enumeration to specify the options to AsParallel(). 
            </summary>
            <member></member>
        </member>
        <member name="F:System.Linq.ParallelQueryOptions.None">
            <summary>
            Sets the query to the default option of not preserving order. This should
            provide the best performance.
            </summary>
        </member>
        <member name="F:System.Linq.ParallelQueryOptions.PreserveOrdering">
            <summary>
            Sets the query to preserve the order of elements in the source when returning
            the results of the query. This may be at the cost of system performance.
            </summary>
        </member>
        <member name="T:System.Linq.IParallelEnumerable`1">
            <summary>
            Instances of this interface bind to Parallel LINQ extension methods to execute
            in parallel. See IEnumerable.
            </summary>
        </member>
        <member name="M:System.Linq.IParallelEnumerable`1.GetEnumerator(System.Boolean)">
            <summary>
            Overload that allows developers to request or supress pipelining explicitly. 
            The default behaviour if not using this overload is to use pipelining.  Use
            pipelining when following a query with foreach to execute the foreach on a
            separate thread as the query when elements become available. Supressing pipelining
            will force the system to use all available resources processing the query to
            completion before executing the foreach loop.
            </summary>
            <param name="usePipelining">Set to true to request pipelining.</param>
            <returns>An IEnumerator that turns on pipelining in parallel execution.</returns>
        </member>
        <member name="T:System.Linq.IParallelOrderedEnumerable`1">
            <summary>
            The return type of Parallel LINQ sorting methods. See IOrderedEnumerable.
            </summary>
        </member>
        <member name="T:System.Linq.ParallelQuery">
            <summary>
            This class adds static extension methods to IEnumerable to faciliate using
            Parallel LINQ to Objects with LINQ to objects. Primarily, this class adds
            AsParallel() methods which convert IEnumerable to IParallelEnumerable and
            an AsSequential() method to convert IParallelEnumerable to IEnumerable.
            </summary>
        </member>
        <member name="M:System.Linq.ParallelQuery.AsParallel``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            This is the method to opt into Parallel LINQ. This method takes no parameters 
            and would set the existing parameters to default. This will not preserve the input 
            order in the output and will use the maximum available hardware threads.
            </summary>
            <remarks>
            <b>AsParallel() Persists</b> - Operators that bind to IParallelEnumerable 
            return IParallelEnumberables with the same settings as the original 
            IParallelEnumerable.
            
            So, in the expression:
            <code>var q = elements.AsParallel(optionsA, 4).Where(...)....Select(...)</code>
            q will behave as if it has optionsA and degree of parallelism (DOP) 4.
            
            <b>Chained AsParallel()s</b> - Aside from the vanilla AsParallel() calls that 
            apply default settings to the IParallelEnumerable, there are other overrides that 
            allow the developer to apply specific options for fine-grained control.  It is 
            important to understand how these options play together.
            
            Rule 1 -Vanilla AsParallel() always returns an IParallelEnumerable with default 
            options and DOP.
            Rule 2 – DOP-applying AsParallel() override previous DOPs.
            Rule 3 - Options-Applying AsParallel() overrides previous Options.
            Rule 4 – DOP and Options are independent.
            These Rules apply together, too.
            
            <B>First Input Wins</B> - Some expressions will have operators with 2 IEnumerable 
            inputs, such as Join, Union, etc.  In these cases, the First input’s settings are 
            used and the Second input’s settings are ignored.
            </remarks>
            <typeparam name="T">The type of elements of source.</typeparam>
            <param name="source">An IEnumerable to convert to an IParallelEnumerable.</param>
            <returns>The source as an IParallelEnumerable to bind to
            ParallelEnumerable extension methods.</returns>
        </member>
        <member name="M:System.Linq.ParallelQuery.AsParallel``1(System.Collections.Generic.IEnumerable{``0},System.Int32)">
            <summary>
            This is the method to opt into Parallel LINQ. This method takes a degree of
            parallelism parameter to override the default.
            </summary>
            <typeparam name="T">The type of elements of source.</typeparam>
            <param name="source">An IEnumerable to convert to an IParallelEnumerable.</param>
            <param name="degreeOfParallelism">(DOP) Specified the number of threads to use in the query.</param>
            <returns>The source as an IParallelEnumerable to bind to
            ParallelEnumerable extension methods.</returns>
        </member>
        <member name="M:System.Linq.ParallelQuery.AsParallel``1(System.Collections.Generic.IEnumerable{``0},System.Linq.ParallelQueryOptions)">
            <summary>
            This is the method to opt into Parallel LINQ. This method takes an options 
            parameter, to override the default.
            </summary>
            <typeparam name="T">The type of elements of source.</typeparam>
            <param name="source">An IEnumerable to convert to an IParallelEnumerable.</param>
            <param name="options">Specified the ParallelQueryOptions to use in the query.</param>
            <returns>The source as an IParallelEnumerable to bind to
            ParallelEnumerable extension methods.</returns>
        </member>
        <member name="M:System.Linq.ParallelQuery.AsParallel``1(System.Collections.Generic.IEnumerable{``0},System.Linq.ParallelQueryOptions,System.Int32)">
            <summary>
            This is the method to opt into Parallel LINQ. This method takes an options 
            parameter and a degree of parallelism parameter, to override the defaults.
            </summary>
            <typeparam name="T">The type of elements of source.</typeparam>
            <param name="source">An IEnumerable to convert to an IParallelEnumerable.</param>
            <param name="options">Specified the ParallelQueryOptions to use in the query.</param>
            <param name="degreeOfParallelism">(DOP) Specified the number of threads to use in the query.</param>
            <returns>The source as an IParallelEnumerable to bind to
            ParallelEnumerable extension methods.</returns>
        </member>
        <member name="M:System.Linq.ParallelQuery.AsParallel(System.Collections.IEnumerable)">
            <summary>
            This is the method to opt into Parallel LINQ. This method provide overloads to non-generic
            IEnumerables.
            </summary>
            <param name="source">An IEnumerable to convert to an IParallelEnumerable.</param>
            <returns>The source as an IParallelEnumerable to bind to
            ParallelEnumerable extension methods.</returns>
        </member>
        <member name="M:System.Linq.ParallelQuery.AsSequential``1(System.Linq.IParallelEnumerable{``0})">
            <summary>
            Converts an IParallelEnumerable into an IEnumerable, to force sequential
            evaluation of the query.  See the Parallel Blockers topic for when to use this.
            </summary>
            <typeparam name="T">The type of elements of source.</typeparam>
            <param name="source">An IParallelEnumerable to convert to an IEnumerable.</param>
            <returns>The source as an IEnumerable to bind tosequential extension methods.</returns>
        </member>
        <member name="T:System.Linq.ParallelEnumerable">
            <summary>
            Provides a set of static (Shared in Visual Basic) methods for querying objects that implement 
            IParallelEnumerable&lt;(Of &lt;(T&gt;)&gt;).  This is the Parallel equivalent of 
            <see cref="T:System.Linq.Enumerable"/>.
            </summary>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.ForAll``1(System.Linq.IParallelEnumerable{``0},System.Action{``0})">
            <summary>
            Parallelizes output by calling action for each element in the source.  This is 
            an efficient way to process the output from PLINQ because it does not require a 
            merge step at the end.  However, order of execution is nondeterministic.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="source">The IParallelEnumerable whose elements will be processed by 
            action.</param>
            <param name="action">An action to call on each element.</param>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Range(System.Int32,System.Int32)">
            <summary>
            Parallel implementation of System.Linq.Range. 
            </summary>
            <param name="start">The value of the first integer in the sequence.</param>
            <param name="count">The number of sequential integers to generate.</param>
            <returns>An <b>IEnumerable&lt;Int32&gt;</b> in C# or <B>IEnumerable(Of Int32)</B> in 
            Visual Basic that contains a range of sequential integral numbers.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Repeat``1(``0,System.Int32)">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Range().
            </summary>
            <typeparam name="TResult">The type of the value to be repeated in the result sequence.</typeparam>
            <param name="element">The value to be repeated.</param>
            <param name="count">The number of times to repeat the value in the generated sequence.</param>
            <returns>A sequence that contains a repeated value.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Empty``1">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Empty().
            </summary>
            <typeparam name="TResult">The type to assign to the type parameter of the returned 
            generic sequence.</typeparam>
            <returns>An empty sequence whose type argument is <B>TResult</B>.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Where``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Boolean})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Where().
            </summary>
            <typeparam name="TSource">The type of the elements of source.</typeparam>
            <param name="source">A sequence to filter.</param>
            <param name="predicate">A function to test each element for a condition.</param>
            <returns>A sequence that contains elements from the input sequence that satisfy 
            the condition.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Where``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Int32,System.Boolean})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Where().
            </summary>
            <typeparam name="TSource">The type of the elements of source.</typeparam>
            <param name="source">A sequence to filter.</param>
            <param name="predicate">A function to test each element for a condition.</param>
            <returns>A sequence that contains elements from the input sequence that satisfy the condition.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Select``2(System.Linq.IParallelEnumerable{``0},System.Func{``0,``1})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Select().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <typeparam name="TResult">The type of elements resturned by <b>selector</b>.</typeparam>
            <param name="source">A sequence of values to invoke a transform function on.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>A sequence whose elements are the result of invoking the transform function on each 
            element of <B>source</B>.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Select``2(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Int32,``1})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Select().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <typeparam name="TResult">The type of elements resturned by <b>selector</b>.</typeparam>
            <param name="source">A sequence of values to invoke a transform function on.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>A sequence whose elements are the result of invoking the transform function on each 
            element of <B>source</B>.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Join``4(System.Linq.IParallelEnumerable{``0},System.Collections.Generic.IEnumerable{``1},System.Func{``0,``2},System.Func{``1,``2},System.Func{``0,``1,``3})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Join().
            </summary>
            <typeparam name="TOuter">The type of the elements of the first sequence.</typeparam>
            <typeparam name="TInner">The type of the elements of the second sequence.</typeparam>
            <typeparam name="TKey">The type of the keys returned by the key selector functions.</typeparam>
            <typeparam name="TResult">The type of the result elements.</typeparam>
            <param name="outer">The first sequence to join.</param>
            <param name="inner">The sequence to join to the first sequence.</param>
            <param name="outerKeySelector">A function to extract the join key from each element of 
            the first sequence.</param>
            <param name="innerKeySelector">A function to extract the join key from each element of 
            the second sequence.</param>
            <param name="resultSelector">A function to create a result element from two matching elements.</param>
            <returns>A sequence that has elements of type <B>TResult</B> that are obtained by performing 
            an inner join on two sequences.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Join``4(System.Linq.IParallelEnumerable{``0},System.Collections.Generic.IEnumerable{``1},System.Func{``0,``2},System.Func{``1,``2},System.Func{``0,``1,``3},System.Collections.Generic.IEqualityComparer{``2})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Join().
            </summary>
            <typeparam name="TOuter">The type of the elements of the first sequence.</typeparam>
            <typeparam name="TInner">The type of the elements of the second sequence.</typeparam>
            <typeparam name="TKey">The type of the keys returned by the key selector functions.</typeparam>
            <typeparam name="TResult">The type of the result elements.</typeparam>
            <param name="outer">The first sequence to join.</param>
            <param name="inner">The sequence to join to the first sequence.</param>
            <param name="outerKeySelector">A function to extract the join key from each element 
            of the first sequence.</param>
            <param name="innerKeySelector">A function to extract the join key from each element 
            of the second sequence.</param>
            <param name="resultSelector">A function to create a result element from two matching elements.</param>
            <param name="comparer">An IEqualityComparer&lt;(Of &lt;(T&gt;)&gt;) to hash and compare keys.</param>
            <returns>A sequence that has elements of type <B>TResult</B> that are obtained by performing 
            an inner join on two sequences.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.GroupJoin``4(System.Linq.IParallelEnumerable{``0},System.Collections.Generic.IEnumerable{``1},System.Func{``0,``2},System.Func{``1,``2},System.Func{``0,System.Collections.Generic.IEnumerable{``1},``3})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.GroupJoin().
            </summary>
            <typeparam name="TOuter">The type of the elements of the first sequence.</typeparam>
            <typeparam name="TInner">The type of the elements of the second sequence.</typeparam>
            <typeparam name="TKey">The type of the keys returned by the key selector functions.</typeparam>
            <typeparam name="TResult">The type of the result elements.</typeparam>
            <param name="outer">The first sequence to join.</param>
            <param name="inner">The sequence to join to the first sequence.</param>
            <param name="outerKeySelector">A function to extract the join key from each element 
            of the first sequence.</param>
            <param name="innerKeySelector">A function to extract the join key from each element 
            of the second sequence.</param>
            <param name="resultSelector">A function to create a result element from an element from 
            the first sequence and a collection of matching elements from the second sequence.</param>
            <returns>A sequence that has elements of type <B>TResult</B> that are obtained by performing 
            a grouped join on two sequences.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.GroupJoin``4(System.Linq.IParallelEnumerable{``0},System.Collections.Generic.IEnumerable{``1},System.Func{``0,``2},System.Func{``1,``2},System.Func{``0,System.Collections.Generic.IEnumerable{``1},``3},System.Collections.Generic.IEqualityComparer{``2})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.GroupJoin().
            </summary>
            <typeparam name="TOuter">The type of the elements of the first sequence.</typeparam>
            <typeparam name="TInner">The type of the elements of the second sequence.</typeparam>
            <typeparam name="TKey">The type of the keys returned by the key selector functions.</typeparam>
            <typeparam name="TResult">The type of the result elements.</typeparam>
            <param name="outer">The first sequence to join.</param>
            <param name="inner">The sequence to join to the first sequence.</param>
            <param name="outerKeySelector">A function to extract the join key from each element 
            of the first sequence.</param>
            <param name="innerKeySelector">A function to extract the join key from each element 
            of the second sequence.</param>
            <param name="resultSelector">A function to create a result element from an element from 
            the first sequence and a collection of matching elements from the second sequence.</param>
            <param name="comparer">An IEqualityComparer&lt;(Of &lt;(T&gt;)&gt;) to hash and compare keys.</param>
            <returns>A sequence that has elements of type <B>TResult</B> that are obtained by performing 
            a grouped join on two sequences.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.SelectMany``2(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``1}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.SelectMany().
            </summary>
            <typeparam name="TSource">The type of elements of <b>source</b>.</typeparam>
            <typeparam name="TResult">The type of the elements of the sequence returned by <B>selector</B>.</typeparam>
            <param name="source">A sequence of values to project.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>A sequence whose elements are the result of invoking the one-to-many transform 
            function on each element of the input sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.SelectMany``2(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Int32,System.Collections.Generic.IEnumerable{``1}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.SelectMany().
            </summary>
            <typeparam name="TSource">The type of elements of <b>source</b>.</typeparam>
            <typeparam name="TResult">The type of the elements of the sequence returned by <B>selector</B>.</typeparam>
            <param name="source">A sequence of values to project.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>A sequence whose elements are the result of invoking the one-to-many transform 
            function on each element of the input sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.SelectMany``3(System.Linq.IParallelEnumerable{``0},System.Collections.Generic.IEnumerable{``1},System.Func{``0,``1,``2})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.SelectMany(). This is an 
            overload that is not present on Enumerable. This provides a performance 
            improvement over the method that takes a collectionSelector.  It should be used 
            where the flexibility of collectionSelector is not needed.  
            </summary>
            <typeparam name="TSource">The type of elements of <b>source</b>.</typeparam>
            <typeparam name="TCollection">The type of elements of <b>collection</b>.</typeparam>
            <typeparam name="TResult">The type of the elements of the sequence returned by 
            <B>resultSelector</B>.</typeparam>
            <param name="source">A sequence of values to project.</param>
            <param name="collection">The second sequence to be applied with the <B>source</B>.</param>
            <param name="resultSelector">A function to create a result element from an element from 
            the first sequence and a collection of matching elements from the second sequence.</param>
            <returns>A sequence whose elements are the result of mapping each of the <B>collection</B> 
            elements and their corresponding <B>source</B> element to a <B>result</B> element.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.SelectMany``3(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``1}},System.Func{``0,``1,``2})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.SelectMany().
            </summary>
            <typeparam name="TSource">The type of elements of <b>source</b>.</typeparam>
            <typeparam name="TCollection">The type of the intermediate elements collected by <b>collectionSelector</b>.</typeparam>
            <typeparam name="TResult"></typeparam>
            <param name="source">A sequence of values to project.</param>
            <param name="collectionSelector">A transform function to apply to each source element; 
            the second parameter of the function represents the index of the source element.</param>
            <param name="resultSelector">A function to create a result element from an element from 
            the first sequence and a collection of matching elements from the second sequence.</param>
            <returns>A sequence whose elements are the result of invoking the one-to-many transform 
            function <B>collectionSelector</B> on each element of <B>source</B> and then mapping 
            each of those sequence elements and their corresponding source element to a result element.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.SelectMany``3(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Int32,System.Collections.Generic.IEnumerable{``1}},System.Func{``0,``1,``2})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.SelectMany().
            </summary>
            <typeparam name="TSource">The type of elements of <b>source</b>.</typeparam>
            <typeparam name="TCollection">The type of the intermediate elements collected by 
            <b>collectionSelector</b>.</typeparam>
            <typeparam name="TResult">The type of elements to return.</typeparam>
            <param name="source">A sequence of values to project.</param>
            <param name="collectionSelector">A transform function to apply to each source element; 
            the second parameter of the function represents the index of the source element.</param>
            <param name="resultSelector">A function to create a result element from an element from 
            the first sequence and a collection of matching elements from the second sequence.</param>
            <returns>
            A sequence whose elements are the result of invoking the one-to-many transform 
            function <B>collectionSelector</B> on each element of <B>source</B> and then mapping 
            each of those sequence elements and their corresponding source element to a 
            result element.
            </returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.OrderBy``2(System.Linq.IParallelEnumerable{``0},System.Func{``0,``1})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.OrderBy().
            </summary>
            <remarks>
            This is not a stable sort. To achieve a stable sort, change:
            <code>var ordered = source.OrderBy((e) => e.k);</code>
            to:
            <code>var ordered = source.Select((e,i) => new { E=e, I=i }).OrderBy((v) => v.i).Select((v) => v.e);</code>
            </remarks>
            <typeparam name="TSource">The type of elements of <b>source</b>.</typeparam>
            <typeparam name="TKey">The type of the key returned by <b>keySelector</b>.</typeparam>
            <param name="source">A sequence of values to order.</param>
            <param name="keySelector">A function to extract a key from an element.</param>
            <returns>An IOrderedEnumerable&lt;(Of &lt;(TElement&gt;)&gt;) whose elements are sorted 
            according to a key.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.OrderBy``2(System.Linq.IParallelEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IComparer{``1})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.OrderBy().
            </summary>
            <remarks>This is not a stable sort, see OrderBy(IParallelEnumberable, Func) for the workaround.</remarks>
            <typeparam name="TSource">The type of elements of <b>source</b>.</typeparam>
            <typeparam name="TKey">The type of the key returned by <b>keySelector</b>.</typeparam>
            <param name="source">A sequence of values to order.</param>
            <param name="keySelector">A function to extract a key from an element.</param>
            <param name="comparer">An IComparer&lt;(Of &lt;(T&gt;)&gt;) to compare keys.</param>
            <returns>An IOrderedEnumerable&lt;(Of &lt;(TElement&gt;)&gt;) whose elements are sorted according 
            to a key.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.OrderByDescending``2(System.Linq.IParallelEnumerable{``0},System.Func{``0,``1})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.OrderByDescending().
            </summary>
            <remarks>
            This is not a stable sort, see OrderBy(IParallelEnumberable, Func) for the 
            workaround.
            </remarks>
            <typeparam name="TSource">The type of elements of <b>source</b>.</typeparam>
            <typeparam name="TKey">The type of the key returned by <b>keySelector</b>.</typeparam>
            <param name="source">A sequence of values to order.</param>
            <param name="keySelector">A function to extract a key from an element.</param>
            <returns>An IOrderedEnumerable&lt;(Of &lt;(TElement&gt;)&gt;) whose elements are sorted 
            descending according to a key.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.OrderByDescending``2(System.Linq.IParallelEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IComparer{``1})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.OrderByDescending().
            </summary>
            <remarks>This is not a stable sort, see OrderBy(IParallelEnumberable, Func) for the workaround.</remarks>
            <typeparam name="TSource">The type of elements of <b>source</b>.</typeparam>
            <typeparam name="TKey">The type of the key returned by <b>keySelector</b>.</typeparam>
            <param name="source">A sequence of values to order.</param>
            <param name="keySelector">A function to extract a key from an element.</param>
            <param name="comparer">An IComparer&lt;(Of &lt;(T&gt;)&gt;) to compare keys.</param>
            <returns>An IOrderedEnumerable&lt;(Of &lt;(TElement&gt;)&gt;) whose elements are sorted descending 
            according to a key.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.ThenBy``2(System.Linq.IParallelOrderedEnumerable{``0},System.Func{``0,``1})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.ThenBy().
            </summary>
            <remarks>This is not a stable sort, see OrderBy(IParallelEnumberable, Func) for 
            the workaround.</remarks>
            <typeparam name="TSource">The type of elements of <b>source</b>.</typeparam>
            <typeparam name="TKey">The type of the key returned by <b>keySelector</b>.</typeparam>
            <param name="source">An IOrderedEnumerable&lt;(Of &lt;(TElement&gt;)&gt;) than 
            contains elements to sort.</param>
            <param name="keySelector">A function to extract a key from an element.</param>
            <returns>An IOrderedEnumerable&lt;(Of &lt;(TElement&gt;)&gt;) whose elements are 
            sorted according to a key.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.ThenBy``2(System.Linq.IParallelOrderedEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IComparer{``1})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.ThenBy().
            </summary>
            <remarks>This is not a stable sort, see OrderBy(IParallelEnumberable, Func) for the 
            workaround.</remarks>
            <typeparam name="TSource">The type of elements of <b>source</b>.</typeparam>
            <typeparam name="TKey">The type of the key returned by <b>keySelector</b>.</typeparam>
            <param name="source">An IOrderedEnumerable&lt;(Of &lt;(TElement&gt;)&gt;) than contains 
            elements to sort.</param>
            <param name="keySelector">A function to extract a key from an element.</param>
            <param name="comparer">An IComparer&lt;(Of &lt;(T&gt;)&gt;) to compare keys.</param>
            <returns>An IOrderedEnumerable&lt;(Of &lt;(TElement&gt;)&gt;) whose elements are sorted 
            according to a key.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.ThenByDescending``2(System.Linq.IParallelOrderedEnumerable{``0},System.Func{``0,``1})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.ThenByDescending().
            </summary>
            <remarks>This is not a stable sort, see OrderBy(IParallelEnumberable, Func) for the 
            workaround.</remarks>
            <typeparam name="TSource">The type of elements of <b>source</b>.</typeparam>
            <typeparam name="TKey">The type of the key returned by <b>keySelector</b>.</typeparam>
            <param name="source">An IOrderedEnumerable&lt;(Of &lt;(TElement&gt;)&gt;) than contains 
            elements to sort.</param>
            <param name="keySelector">A function to extract a key from an element.</param>
            <returns>An IOrderedEnumerable&lt;(Of &lt;(TElement&gt;)&gt;) whose elements are sorted 
            descending according to a key.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.ThenByDescending``2(System.Linq.IParallelOrderedEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IComparer{``1})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.ThenByDescending().
            </summary>
            <remarks>This is not a stable sort, see OrderBy(IParallelEnumberable, Func) for the 
            workaround.</remarks>
            <typeparam name="TSource">The type of elements of <b>source</b>.</typeparam>
            <typeparam name="TKey">The type of the key returned by <b>keySelector</b>.</typeparam>
            <param name="source">An IOrderedEnumerable&lt;(Of &lt;(TElement&gt;)&gt;) than contains 
            elements to sort.</param>
            <param name="keySelector">A function to extract a key from an element.</param>
            <param name="comparer">An IComparer&lt;(Of &lt;(T&gt;)&gt;) to compare keys.</param>
            <returns>An IOrderedEnumerable&lt;(Of &lt;(TElement&gt;)&gt;) whose elements are sorted 
            descending according to a key.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.GroupBy``2(System.Linq.IParallelEnumerable{``0},System.Func{``0,``1})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.GroupBy().
            </summary>
            <typeparam name="TSource">The type of elements of <b>source</b>.</typeparam>
            <typeparam name="TKey">The type of the key returned by <b>keySelector</b>.</typeparam>
            <param name="source">An IOrderedEnumerable&lt;(Of &lt;(TElement&gt;)&gt;) than contains 
            elements to sort.</param>
            <param name="keySelector">A function to extract a key from an element.</param>
            <returns>An IOrderedEnumerable&lt;(Of &lt;(TElement&gt;)&gt;) whose elements are sorted 
            descending according to a key.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.GroupBy``2(System.Linq.IParallelEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.GroupBy().
            </summary>
            <typeparam name="TSource">The type of elements of <b>source</b>.</typeparam>
            <typeparam name="TKey">The type of the key returned by <b>keySelector</b>.</typeparam>
            <param name="source">An IOrderedEnumerable&lt;(Of &lt;(TElement&gt;)&gt;) than contains 
            elements to sort.</param>
            <param name="keySelector">A function to extract a key from an element.</param>
            <param name="comparer">An IComparer&lt;(Of &lt;(T&gt;)&gt;) to compare keys.</param>
            <returns>An IOrderedEnumerable&lt;(Of &lt;(TElement&gt;)&gt;) whose elements are sorted 
            descending according to a key.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.GroupBy``3(System.Linq.IParallelEnumerable{``0},System.Func{``0,``1},System.Func{``0,``2})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.GroupBy().
            </summary>
            <typeparam name="TSource">The type of elements of <b>source</b>.</typeparam>
            <typeparam name="TKey">The type of the key returned by <b>keySelector</b>.</typeparam>
            <typeparam name="TElement">The type of the elements in the IGrouping</typeparam>
            <param name="source">An IOrderedEnumerable&lt;(Of &lt;(TElement&gt;)&gt;) than contains 
            elements to sort.</param>
            <param name="keySelector">A function to extract a key from an element.</param>
            <param name="comparer">An IComparer&lt;(Of &lt;(T&gt;)&gt;) to compare keys.</param>
            <param name="elementSelector">A function to map each source element to an element in an 
            IGrouping.</param>
            <returns>An IParallelEnumerable&lt;IGrouping&lt;TKey, TElement&gt;&gt; in C# or 
            IParallelEnumerable(Of IGrouping(Of TKey, TElement)) in Visual Basic where each IGrouping 
            generic object contains a collection of objects of type <B>TElement</B> and a key.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.GroupBy``3(System.Linq.IParallelEnumerable{``0},System.Func{``0,``1},System.Func{``0,``2},System.Collections.Generic.IEqualityComparer{``1})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.GroupBy().
            </summary>
            <typeparam name="TSource">The type of elements of <b>source</b>.</typeparam>
            <typeparam name="TKey">The type of the key returned by <b>keySelector</b>.</typeparam>
            <typeparam name="TElement">The type of the elements in the IGrouping</typeparam>
            <param name="source">An IOrderedEnumerable&lt;(Of &lt;(TElement&gt;)&gt;) than contains 
            elements to sort.</param>
            <param name="keySelector">A function to extract a key from an element.</param>
            <param name="elementSelector">
            A function to map each source element to an element in an 
            IGrouping.
            </param>
            <param name="comparer">An IComparer&lt;(Of &lt;(T&gt;)&gt;) to compare keys.</param>
            <returns>
            An IParallelEnumerable&lt;IGrouping&lt;TKey, TElement&gt;&gt; in C# or 
            IParallelEnumerable(Of IGrouping(Of TKey, TElement)) in Visual Basic where each IGrouping 
            generic object contains a collection of objects of type <B>TElement</B> and a key.
            </returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.GroupBy``3(System.Linq.IParallelEnumerable{``0},System.Func{``0,``1},System.Func{``1,System.Collections.Generic.IEnumerable{``0},``2})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.GroupBy().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <typeparam name="TKey">The type of the key returned by <B>keySelector</B>.</typeparam>
            <typeparam name="TResult">The type of the result value returned by <B>resultSelector</B>.</typeparam>
            <param name="source">A sequence whose elements to group.</param>
            <param name="keySelector">A function to extract the key for each element.</param>
            <param name="resultSelector">A function to create a result value from each group.</param>
            <returns>A collection of elements of type <b>TResult</b> where each element represents a 
            projection over a group and its key.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.GroupBy``3(System.Linq.IParallelEnumerable{``0},System.Func{``0,``1},System.Func{``1,System.Collections.Generic.IEnumerable{``0},``2},System.Collections.Generic.IEqualityComparer{``1})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.GroupBy().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <typeparam name="TKey">The type of the key returned by <B>keySelector</B>.</typeparam>
            <typeparam name="TResult">The type of the result value returned by <B>resultSelector</B>.</typeparam>
            <param name="source">A sequence whose elements to group.</param>
            <param name="keySelector">A function to extract the key for each element.</param>
            <param name="resultSelector">A function to create a result value from each group.</param>
            <param name="comparer">An IEqualityComparer&lt;(Of &lt;(T&gt;)&gt;) to compare keys.</param>
            <returns>
            An <B>IParallelEnumerable&lt;IGrouping&lt;TKey, TElement&gt;&gt;</B> in C# or 
            <B>IParallelEnumerable(Of IGrouping(Of TKey, TElement))</B> in Visual Basic where each 
            IGrouping&lt;(Of &lt;(TKey, TElement&gt;)&gt;) object contains a collection of objects 
            of type <B>TElement</B> and a key.
            </returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.GroupBy``4(System.Linq.IParallelEnumerable{``0},System.Func{``0,``1},System.Func{``0,``2},System.Func{``1,System.Collections.Generic.IEnumerable{``2},``3})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.GroupBy().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <typeparam name="TKey">The type of the key returned by <B>keySelector</B>.</typeparam>
            <typeparam name="TElement">The type of the elements in each 
            IGrouping&lt;(Of &lt;(TKey, TElement&gt;)&gt;).</typeparam>
            <typeparam name="TResult">The type of the result value returned by <B>resultSelector</B>.</typeparam>
            <param name="source">A sequence whose elements to group.</param>
            <param name="keySelector">A function to extract the key for each element.</param>
            <param name="elementSelector">A function to map each source element to an element in an 
            IGrouping&lt;TKey, TElement&gt;.</param>
            <param name="resultSelector">A function to create a result value from each group.</param>
            <returns>A collection of elements of type <B>TResult</B> where each element represents a 
            projection over a group and its key.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.GroupBy``4(System.Linq.IParallelEnumerable{``0},System.Func{``0,``1},System.Func{``0,``2},System.Func{``1,System.Collections.Generic.IEnumerable{``2},``3},System.Collections.Generic.IEqualityComparer{``1})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.GroupBy().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <typeparam name="TKey">The type of the key returned by <B>keySelector</B>.</typeparam>
            <typeparam name="TElement">The type of the elements in each 
            IGrouping&lt;(Of &lt;(TKey, TElement&gt;)&gt;).</typeparam>
            <typeparam name="TResult">The type of the result value returned by <B>resultSelector</B>.</typeparam>
            <param name="source">A sequence whose elements to group.</param>
            <param name="keySelector">A function to extract the key for each element.</param>
            <param name="elementSelector">A function to map each source element to an element in an 
            IGrouping&lt;TKey, TElement&gt;.</param>
            <param name="resultSelector">A function to create a result value from each group.</param>
            <param name="comparer">An IEqualityComparer&lt;(Of &lt;(T&gt;)&gt;) to compare keys.</param>
            <returns>A collection of elements of type <B>TResult</B> where each element represents a 
            projection over a group and its key.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Aggregate``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,``0,``0})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Aggregate().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <param name="source">A sequence to aggregate over.</param>
            <param name="func">An accumulator function to be invoked on each element.</param>
            <returns>The final accumulator value.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Aggregate``2(System.Linq.IParallelEnumerable{``0},``1,System.Func{``1,``0,``1})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Aggregate().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <typeparam name="TAccumulate">The type of the accumulator value.</typeparam>
            <param name="source">A sequence to aggregate over.</param>
            <param name="seed">The initial accumulator value.</param>
            <param name="func">An accumulator function to be invoked on each element.</param>
            <returns>The final accumulator value.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Aggregate``3(System.Linq.IParallelEnumerable{``0},``1,System.Func{``1,``0,``1},System.Func{``1,``2})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Aggregate().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <typeparam name="TAccumulate">The type of the accumulator value.</typeparam>
            <typeparam name="TResult">The type of the resulting value.</typeparam>
            <param name="source">A sequence to aggregate over.</param>
            <param name="seed">The initial accumulator value.</param>
            <param name="func">An accumulator function to be invoked on each element.</param>
            <param name="resultSelector">A function to transform the final accumulator value 
            into the result value.</param>
            <returns>The transformed final accumulator value.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Aggregate``3(System.Linq.IParallelEnumerable{``0},``1,System.Func{``1,``0,``1},System.Func{``1,``1,``1},System.Func{``1,``2})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Aggregate(). This is an overload not 
            present in the sequential version of LINQ to Objects.
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <typeparam name="TAccumulate">The type of the accumulator value.</typeparam>
            <typeparam name="TResult">The type of the resulting value.</typeparam>
            <param name="source">A sequence to aggregate over.</param>
            <param name="seed">The initial accumulator value.</param>
            <param name="intermediateReduceFunc">
            An accumulator function to be invoked on each element in a partition.
            </param>
            <param name="finalReduceFunc">
            An accumulator function to be invoked to merge the yielded elements from each partition.
            </param>
            <param name="resultSelector">
            A function to transform the final accumulator value into the result value.
            </param>
            <returns>The transformed final accumulator value.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Count``1(System.Linq.IParallelEnumerable{``0})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Count().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <param name="source">A sequence that contains elements to be counted.</param>
            <returns>The number of elements in the input sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Count``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Boolean})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Count().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <param name="source">A sequence that contains elements to be counted.</param>
            <param name="predicate">A function to test each element for a condition.</param>
            <returns>
            A number that represents how many elements in the sequence satisfy the condition 
            in the predicate function.
            </returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.LongCount``1(System.Linq.IParallelEnumerable{``0})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.LongCount().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <param name="source">A sequence that contains elements to be counted.</param>
            <returns>The number of elements in the input sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.LongCount``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Boolean})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.LongCount().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <param name="source">A sequence that contains elements to be counted.</param>
            <param name="predicate">A function to test each element for a condition.</param>
            <returns>
            A number that represents how many elements in the sequence satisfy the condition 
            in the predicate function.
            </returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Sum(System.Linq.IParallelEnumerable{System.Int32})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Sum().
            </summary>
            <param name="source">A sequence of values to calculate the sum of.</param>
            <returns>The sum of the values in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Sum(System.Linq.IParallelEnumerable{System.Nullable{System.Int32}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Sum().
            </summary>
            <param name="source">A sequence of values to calculate the sum of.</param>
            <returns>The sum of the values in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Sum(System.Linq.IParallelEnumerable{System.Int64})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Sum().
            </summary>
            <param name="source">A sequence of values to calculate the sum of.</param>
            <returns>The sum of the values in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Sum(System.Linq.IParallelEnumerable{System.Nullable{System.Int64}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Sum().
            </summary>
            <param name="source">A sequence of values to calculate the sum of.</param>
            <returns>The sum of the values in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Sum(System.Linq.IParallelEnumerable{System.Single})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Sum().
            </summary>
            <param name="source">A sequence of values to calculate the sum of.</param>
            <returns>The sum of the values in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Sum(System.Linq.IParallelEnumerable{System.Nullable{System.Single}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Sum().
            </summary>
            <param name="source">A sequence of values to calculate the sum of.</param>
            <returns>The sum of the values in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Sum(System.Linq.IParallelEnumerable{System.Double})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Sum().
            </summary>
            <param name="source">A sequence of values to calculate the sum of.</param>
            <returns>The sum of the values in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Sum(System.Linq.IParallelEnumerable{System.Nullable{System.Double}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Sum().
            </summary>
            <param name="source">A sequence of values to calculate the sum of.</param>
            <returns>The sum of the values in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Sum(System.Linq.IParallelEnumerable{System.Decimal})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Sum().
            </summary>
            <param name="source">A sequence of values to calculate the sum of.</param>
            <returns>The sum of the values in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Sum(System.Linq.IParallelEnumerable{System.Nullable{System.Decimal}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Sum().
            </summary>
            <param name="source">A sequence of values to calculate the sum of.</param>
            <returns>The sum of the values in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Sum``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Int32})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Sum().
            </summary>
            <param name="source">A sequence of values to calculate the sum of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The sum of the values in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Sum``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Nullable{System.Int32}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Sum().
            </summary>
            <param name="source">A sequence of values to calculate the sum of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The sum of the values in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Sum``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Int64})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Sum().
            </summary>
            <param name="source">A sequence of values to calculate the sum of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The sum of the values in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Sum``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Nullable{System.Int64}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Sum().
            </summary>
            <param name="source">A sequence of values to calculate the sum of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The sum of the values in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Sum``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Single})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Sum().
            </summary>
            <param name="source">A sequence of values to calculate the sum of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The sum of the values in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Sum``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Nullable{System.Single}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Sum().
            </summary>
            <param name="source">A sequence of values to calculate the sum of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The sum of the values in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Sum``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Double})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Sum().
            </summary>
            <param name="source">A sequence of values to calculate the sum of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The sum of the values in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Sum``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Nullable{System.Double}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Sum().
            </summary>
            <param name="source">A sequence of values to calculate the sum of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The sum of the values in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Sum``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Decimal})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Sum().
            </summary>
            <param name="source">A sequence of values to calculate the sum of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The sum of the values in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Sum``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Nullable{System.Decimal}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Sum().
            </summary>
            <param name="source">A sequence of values to calculate the sum of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The sum of the values in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Min(System.Linq.IParallelEnumerable{System.Int32})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Min().
            </summary>
            <param name="source">A sequence of values to determine the minimum value of.</param>
            <returns>The minimum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Min(System.Linq.IParallelEnumerable{System.Nullable{System.Int32}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Min().
            </summary>
            <param name="source">A sequence of values to determine the minimum value of.</param>
            <returns>The minimum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Min(System.Linq.IParallelEnumerable{System.Int64})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Min().
            </summary>
            <param name="source">A sequence of values to determine the minimum value of.</param>
            <returns>The minimum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Min(System.Linq.IParallelEnumerable{System.Nullable{System.Int64}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Min().
            </summary>
            <param name="source">A sequence of values to determine the minimum value of.</param>
            <returns>The minimum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Min(System.Linq.IParallelEnumerable{System.Single})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Min().
            </summary>
            <param name="source">A sequence of values to determine the minimum value of.</param>
            <returns>The minimum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Min(System.Linq.IParallelEnumerable{System.Nullable{System.Single}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Min().
            </summary>
            <param name="source">A sequence of values to determine the minimum value of.</param>
            <returns>The minimum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Min(System.Linq.IParallelEnumerable{System.Double})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Min().
            </summary>
            <param name="source">A sequence of values to determine the minimum value of.</param>
            <returns>The minimum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Min(System.Linq.IParallelEnumerable{System.Nullable{System.Double}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Min().
            </summary>
            <param name="source">A sequence of values to determine the minimum value of.</param>
            <returns>The minimum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Min(System.Linq.IParallelEnumerable{System.Decimal})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Min().
            </summary>
            <param name="source">A sequence of values to determine the minimum value of.</param>
            <returns>The minimum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Min(System.Linq.IParallelEnumerable{System.Nullable{System.Decimal}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Min().
            </summary>
            <param name="source">A sequence of values to determine the minimum value of.</param>
            <returns>The minimum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Min``1(System.Linq.IParallelEnumerable{``0})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Min().
            </summary>
            <param name="source">A sequence of values to determine the minimum value of.</param>
            <returns>The minimum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Min``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Int32})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Min().
            </summary>
            <param name="source">A sequence of values to determine the minimum value of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The minimum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Min``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Nullable{System.Int32}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Min().
            </summary>
            <param name="source">A sequence of values to determine the minimum value of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The minimum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Min``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Int64})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Min().
            </summary>
            <param name="source">A sequence of values to determine the minimum value of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The minimum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Min``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Nullable{System.Int64}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Min().
            </summary>
            <param name="source">A sequence of values to determine the minimum value of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The minimum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Min``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Single})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Min().
            </summary>
            <param name="source">A sequence of values to determine the minimum value of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The minimum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Min``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Nullable{System.Single}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Min().
            </summary>
            <param name="source">A sequence of values to determine the minimum value of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The minimum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Min``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Double})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Min().
            </summary>
            <param name="source">A sequence of values to determine the minimum value of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The minimum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Min``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Nullable{System.Double}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Min().
            </summary>
            <param name="source">A sequence of values to determine the minimum value of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The minimum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Min``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Decimal})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Min().
            </summary>
            <param name="source">A sequence of values to determine the minimum value of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The minimum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Min``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Nullable{System.Decimal}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Min().
            </summary>
            <param name="source">A sequence of values to determine the minimum value of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The minimum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Min``2(System.Linq.IParallelEnumerable{``0},System.Func{``0,``1})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Min().
            </summary>
            <param name="source">A sequence of values to determine the minimum value of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The minimum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Max(System.Linq.IParallelEnumerable{System.Int32})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Max().
            </summary>
            <param name="source">A sequence of values to determine the maximum value of.</param>
            <returns>The maximum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Max(System.Linq.IParallelEnumerable{System.Nullable{System.Int32}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Max().
            </summary>
            <param name="source">A sequence of values to determine the maximum value of.</param>
            <returns>The maximum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Max(System.Linq.IParallelEnumerable{System.Int64})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Max().
            </summary>
            <param name="source">A sequence of values to determine the maximum value of.</param>
            <returns>The maximum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Max(System.Linq.IParallelEnumerable{System.Nullable{System.Int64}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Max().
            </summary>
            <param name="source">A sequence of values to determine the maximum value of.</param>
            <returns>The maximum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Max(System.Linq.IParallelEnumerable{System.Single})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Max().
            </summary>
            <param name="source">A sequence of values to determine the maximum value of.</param>
            <returns>The maximum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Max(System.Linq.IParallelEnumerable{System.Nullable{System.Single}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Max().
            </summary>
            <param name="source">A sequence of values to determine the maximum value of.</param>
            <returns>The maximum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Max(System.Linq.IParallelEnumerable{System.Double})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Max().
            </summary>
            <param name="source">A sequence of values to determine the maximum value of.</param>
            <returns>The maximum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Max(System.Linq.IParallelEnumerable{System.Nullable{System.Double}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Max().
            </summary>
            <param name="source">A sequence of values to determine the maximum value of.</param>
            <returns>The maximum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Max(System.Linq.IParallelEnumerable{System.Decimal})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Max().
            </summary>
            <param name="source">A sequence of values to determine the maximum value of.</param>
            <returns>The maximum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Max(System.Linq.IParallelEnumerable{System.Nullable{System.Decimal}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Max().
            </summary>
            <param name="source">A sequence of values to determine the maximum value of.</param>
            <returns>The maximum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Max``1(System.Linq.IParallelEnumerable{``0})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Max().
            </summary>
            <param name="source">A sequence of values to determine the maximum value of.</param>
            <returns>The maximum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Max``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Int32})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Max().
            </summary>
            <param name="source">A sequence of values to determine the maximum value of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The maximum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Max``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Nullable{System.Int32}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Max().
            </summary>
            <param name="source">A sequence of values to determine the maximum value of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The maximum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Max``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Int64})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Max().
            </summary>
            <param name="source">A sequence of values to determine the maximum value of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The maximum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Max``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Nullable{System.Int64}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Max().
            </summary>
            <param name="source">A sequence of values to determine the maximum value of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The maximum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Max``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Single})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Max().
            </summary>
            <param name="source">A sequence of values to determine the maximum value of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The maximum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Max``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Nullable{System.Single}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Max().
            </summary>
            <param name="source">A sequence of values to determine the maximum value of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The maximum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Max``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Double})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Max().
            </summary>
            <param name="source">A sequence of values to determine the maximum value of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The maximum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Max``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Nullable{System.Double}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Max().
            </summary>
            <param name="source">A sequence of values to determine the maximum value of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The maximum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Max``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Decimal})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Max().
            </summary>
            <param name="source">A sequence of values to determine the maximum value of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The maximum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Max``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Nullable{System.Decimal}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Max().
            </summary>
            <param name="source">A sequence of values to determine the maximum value of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The maximum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Max``2(System.Linq.IParallelEnumerable{``0},System.Func{``0,``1})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Max().
            </summary>
            <param name="source">A sequence of values to determine the maximum value of.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The maximum value in the sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Average(System.Linq.IParallelEnumerable{System.Int32})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Average().
            </summary>
            <param name="source">A sequence of values that are used to calculate an average.</param>
            <returns>The average of the sequence of values.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Average(System.Linq.IParallelEnumerable{System.Nullable{System.Int32}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Average().
            </summary>
            <param name="source">A sequence of values that are used to calculate an average.</param>
            <returns>The average of the sequence of values.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Average(System.Linq.IParallelEnumerable{System.Int64})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Average().
            </summary>
            <param name="source">A sequence of values that are used to calculate an average.</param>
            <returns>The average of the sequence of values.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Average(System.Linq.IParallelEnumerable{System.Nullable{System.Int64}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Average().
            </summary>
            <param name="source">A sequence of values that are used to calculate an average.</param>
            <returns>The average of the sequence of values.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Average(System.Linq.IParallelEnumerable{System.Single})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Average().
            </summary>
            <param name="source">A sequence of values that are used to calculate an average.</param>
            <returns>The average of the sequence of values.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Average(System.Linq.IParallelEnumerable{System.Nullable{System.Single}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Average().
            </summary>
            <param name="source">A sequence of values that are used to calculate an average.</param>
            <returns>The average of the sequence of values.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Average(System.Linq.IParallelEnumerable{System.Double})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Average().
            </summary>
            <param name="source">A sequence of values that are used to calculate an average.</param>
            <returns>The average of the sequence of values.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Average(System.Linq.IParallelEnumerable{System.Nullable{System.Double}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Average().
            </summary>
            <param name="source">A sequence of values that are used to calculate an average.</param>
            <returns>The average of the sequence of values.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Average(System.Linq.IParallelEnumerable{System.Decimal})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Average().
            </summary>
            <param name="source">A sequence of values that are used to calculate an average.</param>
            <returns>The average of the sequence of values.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Average(System.Linq.IParallelEnumerable{System.Nullable{System.Decimal}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Average().
            </summary>
            <param name="source">A sequence of values that are used to calculate an average.</param>
            <returns>The average of the sequence of values.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Average``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Int32})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Average().
            </summary>
            <param name="source">A sequence of values that are used to calculate an average.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The average of the sequence of values.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Average``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Nullable{System.Int32}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Average().
            </summary>
            <param name="source">A sequence of values that are used to calculate an average.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The average of the sequence of values.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Average``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Int64})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Average().
            </summary>
            <param name="source">A sequence of values that are used to calculate an average.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The average of the sequence of values.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Average``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Nullable{System.Int64}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Average().
            </summary>
            <param name="source">A sequence of values that are used to calculate an average.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The average of the sequence of values.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Average``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Single})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Average().
            </summary>
            <param name="source">A sequence of values that are used to calculate an average.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The average of the sequence of values.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Average``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Nullable{System.Single}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Average().
            </summary>
            <param name="source">A sequence of values that are used to calculate an average.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The average of the sequence of values.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Average``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Double})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Average().
            </summary>
            <param name="source">A sequence of values that are used to calculate an average.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The average of the sequence of values.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Average``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Nullable{System.Double}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Average().
            </summary>
            <param name="source">A sequence of values that are used to calculate an average.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The average of the sequence of values.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Average``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Decimal})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Average().
            </summary>
            <param name="source">A sequence of values that are used to calculate an average.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The average of the sequence of values.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Average``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Nullable{System.Decimal}})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Average().
            </summary>
            <param name="source">A sequence of values that are used to calculate an average.</param>
            <param name="selector">A transform function to apply to each element.</param>
            <returns>The average of the sequence of values.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Any``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Boolean})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Any().
            </summary>
            <typeparam name="TSource">The type of elements of <b>source</b>.</typeparam>
            <param name="source">An IEnumerable whose elements to apply the predicate to.</param>
            <param name="predicate">A function to test each element for a condition.</param>
            <returns>
            true if any elements in the source sequence pass the test in the specified predicate; otherwise, false.
            </returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Any``1(System.Linq.IParallelEnumerable{``0})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Any().
            </summary>
            <typeparam name="TSource">The type of elements of <b>source</b>.</typeparam>
            <param name="source">The IEnumerable to check for emptiness.</param>
            <returns>true if the source sequence contains any elements; otherwise, false.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.All``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Boolean})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.All().
            </summary>
            <typeparam name="TSource">The type of elements of <b>source</b>.</typeparam>
            <param name="source">A sequence whose elements to apply the predicate to.</param>
            <param name="predicate">A function to test each element for a condition.</param>
            <returns>
            true if all elements in the source sequence pass the test in the specified predicate; otherwise, false.
            </returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Contains``1(System.Linq.IParallelEnumerable{``0},``0)">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Contains().
            </summary>
            <typeparam name="TSource">The type of elements of <b>source</b>.</typeparam>
            <param name="source">A sequence in which to locate a value.</param>
            <param name="value">The value to locate in the sequence.</param>
            <returns>
            true if the source sequence contains an element that has the specified value; otherwise, false.
            </returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Contains``1(System.Linq.IParallelEnumerable{``0},``0,System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Contains().
            </summary>
            <typeparam name="TSource">The type of elements of <b>source</b>.</typeparam>
            <param name="source">A sequence in which to locate a value.</param>
            <param name="value">The value to locate in the sequence.</param>
            <param name="comparer">An equality comparer to compare values.</param>
            <returns>
            true if the source sequence contains an element that has the specified value; otherwise, false.
            </returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Take``1(System.Linq.IParallelEnumerable{``0},System.Int32)">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Take().
            </summary>
            <typeparam name="TSource">The type of elements of <b>source</b>.</typeparam>
            <param name="source">The sequence to return elements from.</param>
            <param name="count">The number of elements to return.</param>
            <returns>
            A sequence that contains the specified number of elements from the start of the input sequence.
            </returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.TakeWhile``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Boolean})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.TakeWhile().
            </summary>
            <typeparam name="TSource">The type of elements of <b>source</b>.</typeparam>
            <param name="source">The sequence to return elements from.</param>
            <param name="predicate">A function to test each element for a condition.</param>
            <returns>
            A sequence that contains the elements from the input sequence that occur before 
            the element at which the test no longer passes.
            </returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.TakeWhile``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Int32,System.Boolean})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.TakeWhile().
            </summary>
            <typeparam name="TSource">The type of elements of <b>source</b>.</typeparam>
            <param name="source">The sequence to return elements from.</param>
            <param name="predicate">
            A function to test each source element for a condition; the second parameter of the 
            function represents the index of the source element.
            </param>
            <returns>
            A sequence that contains elements from the input sequence that occur before 
            the element at which the test no longer passes.
            </returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Skip``1(System.Linq.IParallelEnumerable{``0},System.Int32)">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Skip().
            </summary>
            <typeparam name="TSource">The type of elements of <b>source</b>.</typeparam>
            <param name="source">The sequence to return elements from.</param>
            <param name="count">The number of elements to skip before returning the remaining elements.</param>
            <returns>
            A sequence that contains the elements that occur after the specified index in the input sequence.
            </returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.SkipWhile``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Boolean})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.SkipWhile().
            </summary>
            <typeparam name="TSource">The type of elements of <b>source</b>.</typeparam>
            <param name="source">The sequence to return elements from.</param>
            <param name="predicate">A function to test each element for a condition.</param>
            <returns>A sequence that contains the elements from the input sequence starting at 
            the first element in the linear series that does not pass the test specified by 
            <B>predicate</B>.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.SkipWhile``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Int32,System.Boolean})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.SkipWhile().
            </summary>
            <typeparam name="TSource">The type of elements of <b>source</b>.</typeparam>
            <param name="source">The sequence to return elements from.</param>
            <param name="predicate">
            A function to test each source element for a condition; the 
            second parameter of the function represents the index of the source element.
            </param>
            <returns>
            A sequence that contains the elements from the input sequence starting at the 
            first element in the linear series that does not pass the test specified by 
            <B>predicate</B>.
            </returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Concat``1(System.Linq.IParallelEnumerable{``0},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Concat().
            </summary>
            <typeparam name="TSource">The type of the elements of the input sequences.</typeparam>
            <param name="first">The first sequence to concatenate.</param>
            <param name="second">The sequence to concatenate to the first sequence.</param>
            <returns>A sequence that contains the concatenated elements of the two input sequences.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.SequenceEqual``1(System.Linq.IParallelEnumerable{``0},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.SequenceEqual().
            </summary>
            <typeparam name="TSource">The type of the elements of the input sequences.</typeparam>
            <param name="first">A sequence to compare to <b>second</b>.</param>
            <param name="second">A sequence to compare to the first input sequence.</param>
            <returns>
            true if the two source sequences are of equal length and their corresponding elements 
            are equal according to the default equality comparer for their type; otherwise, false.
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:System.Linq.ParallelEnumerable.SequenceEqual``1(System.Linq.IParallelEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0})" -->
        <member name="M:System.Linq.ParallelEnumerable.Distinct``1(System.Linq.IParallelEnumerable{``0})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Distinct().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <param name="source">The sequence to remove duplicate elements from.</param>
            <returns>A sequence that contains distinct elements from the source sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Distinct``1(System.Linq.IParallelEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Distinct().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <param name="source">The sequence to remove duplicate elements from.</param>
            <param name="comparer">An IEqualityComparer&lt;(Of &lt;(T&gt;)&gt;) to compare values.</param>
            <returns>A sequence that contains distinct elements from the source sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Union``1(System.Linq.IParallelEnumerable{``0},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Union().
            </summary>
            <typeparam name="TSource">The type of the elements of the input sequences.</typeparam>
            <param name="first">A sequence whose distinct elements form the first set for the union.</param>
            <param name="second">A sequence whose distinct elements form the second set for the union.</param>
            <returns>A sequence that contains the elements from both input sequences, excluding duplicates.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Union``1(System.Linq.IParallelEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Union().
            </summary>
            <typeparam name="TSource">The type of the elements of the input sequences.</typeparam>
            <param name="first">A sequence whose distinct elements form the first set for the union.</param>
            <param name="second">A sequence whose distinct elements form the second set for the union.</param>
            <param name="comparer">An IEqualityComparer&lt;(Of &lt;(T&gt;)&gt;) to compare values.</param>
            <returns>A sequence that contains the elements from both input sequences, excluding duplicates.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Intersect``1(System.Linq.IParallelEnumerable{``0},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Intersect().
            </summary>
            <typeparam name="TSource">The type of the elements of the input sequences.</typeparam>
            <param name="first"
            >A sequence whose distinct elements that also appear in <b>second</b> will be returned.
            </param>
            <param name="second">
            A sequence whose distinct elements that also appear in the first sequence will be returned.
            </param>
            <returns>A sequence that contains the elements that form the set intersection of two sequences.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Intersect``1(System.Linq.IParallelEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Intersect().
            </summary>
            <typeparam name="TSource">The type of the elements of the input sequences.</typeparam>
            <param name="first">
            A sequence whose distinct elements that also appear in <b>second</b> will be returned.
            </param>
            <param name="second">
            A sequence whose distinct elements that also appear in the first sequence will be returned.
            </param>
            <param name="comparer">An IEqualityComparer&lt;(Of &lt;(T&gt;)&gt;) to compare values.</param>
            <returns>A sequence that contains the elements that form the set intersection of two sequences.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Except``1(System.Linq.IParallelEnumerable{``0},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Except().
            </summary>
            <typeparam name="TSource">The type of the elements of the input sequences.</typeparam>
            <param name="first">
            A sequence whose elements that are not also in <b>second</b> will be returned.
            </param>
            <param name="second">
            A sequence whose elements that also occur in the first sequence will cause those 
            elements to be removed from the returned sequence.
            </param>
            <returns>A sequence that contains the set difference of the elements of two sequences.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Except``1(System.Linq.IParallelEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Except().
            </summary>
            <typeparam name="TSource">The type of the elements of the input sequences.</typeparam>
            <param name="first">A sequence whose elements that are not also in <b>second</b> will be returned.</param>
            <param name="second">
            A sequence whose elements that also occur in the first sequence will cause those elements 
            to be removed from the returned sequence.
            </param>
            <param name="comparer">An IEqualityComparer&lt;(Of &lt;(T&gt;)&gt;) to compare values.</param>
            <returns>A sequence that contains the set difference of the elements of two sequences.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.AsEnumerable``1(System.Linq.IParallelEnumerable{``0})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.AsEnumerable().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <param name="source">The sequence to type as IParallelEnumerable&lt;(Of &lt;(T&gt;)&gt;).</param>
            <returns>The input sequence types as IParallelEnumerable&lt;(Of &lt;(T&gt;)&gt;).</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.ToArray``1(System.Linq.IParallelEnumerable{``0})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.ToArray().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <param name="source">A sequence to create an array from.</param>
            <returns>An array that contains the elements from the input sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.ToArray``1(System.Linq.IParallelEnumerable{``0},System.Int32)">
            <summary>
            Parallel implementation of System.Linq.Enumerable.ToArray(). This is an 
            overload that is not present on Enumerable. This method provides performance 
            improvements over ToArray(source).
            </summary>
            <typeparam name="TSource">The type of the elements of source.</typeparam>
            <param name="source">An IParallelEnumerable to create an array from.</param>
            <param name="length">The length of the output array</param>
            <returns>An array that contains the elements of the source sequence, up until the 
            length amount. If length is greater than the number of elements in the source,
            the remaining elements of the return will be default-filled.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.ToArray``1(System.Linq.IParallelEnumerable{``0},System.Int32[])">
            <summary>
            Creates a multi-dimensional array from the input data, allowing results of a query
            to be marshaled into a matrix data structure. The array is built by filling the
            array from "left to right, top to bottom."
            </summary>
            <typeparam name="TSource">The type of the elements of source.</typeparam>
            <param name="source">An IParallelEnumerable to create an array from.</param>
            <param name="length">An array of lengths for the output array. Each int of the 
            array is a dimension, with the value specifying the length of that dimension, in 
            order.</param>
            <returns>A multi-dimensional array that contains the elements of the source 
            sequence, up until the total lengths combined. If length is greater than the 
            number of elements in the source, the remaining elements of the return will be 
            default-filled.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.ToList``1(System.Linq.IParallelEnumerable{``0})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.ToList().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <param name="source">A sequence to create a List&lt;(Of &lt;(T&gt;)&gt;) from.</param>
            <returns>A List&lt;(Of &lt;(T&gt;)&gt;) that contains elements from the input sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.ToList``1(System.Linq.IParallelEnumerable{``0},System.Int32)">
            <summary>
            Parallel implementation of System.Linq.Enumerable.ToList(). This is an 
            overload that is not present on Enumerable. This method provides performance 
            improvements over ToList(source).
            </summary>
            <typeparam name="TSource">The type of the elements of source.</typeparam>
            <param name="source">An IParallelEnumerable to create a list from.</param>
            <param name="length">The length of the output list.</param>
            <returns>A list that contains the elements of the source sequence, up until the 
            length amount. If length is greater than the number of elements in the source,
            the remaining elements of the return will be default-filled.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.ToDictionary``2(System.Linq.IParallelEnumerable{``0},System.Func{``0,``1})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.ToDictionary().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <typeparam name="TKey">The type of the key returned by <B>keySelector</B>.</typeparam>
            <param name="source">A sequence to create a Dictionary&lt;(Of &lt;(TKey, TValue&gt;)&gt;) from.</param>
            <param name="keySelector">A function to extract a key from each element.</param>
            <returns>A Dictionary&lt;(Of &lt;(TKey, TValue&gt;)&gt;) that contains keys and values.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.ToDictionary``2(System.Linq.IParallelEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.ToDictionary().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <typeparam name="TKey">The type of the key returned by <B>keySelector</B>.</typeparam>
            <param name="source">A sequence to create a Dictionary&lt;(Of &lt;(TKey, TValue&gt;)&gt;) from.</param>
            <param name="keySelector">A function to extract a key from each element.</param>
            <param name="comparer">An IEqualityComparer&lt;(Of &lt;(T&gt;)&gt;) to compare keys.</param>
            <returns>A Dictionary&lt;(Of &lt;(TKey, TValue&gt;)&gt;) that contains keys and values.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.ToDictionary``3(System.Linq.IParallelEnumerable{``0},System.Func{``0,``1},System.Func{``0,``2})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.ToDictionary().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <typeparam name="TKey">The type of the key returned by <B>keySelector</B>.</typeparam>
            <typeparam name="TElement">The type of the value returned by <B>elementSelector</B>.</typeparam>
            <param name="source">A sequence to create a Dictionary&lt;(Of &lt;(TKey, TValue&gt;)&gt;) from.</param>
            <param name="keySelector">A function to extract a key from each element.</param>
            <param name="elementSelector">
            A transform function to produce a result element value from each element.
            </param>
            <returns>
            A Dictionary&lt;(Of &lt;(TKey, TValue&gt;)&gt;) that contains values of type <B>TElement</B> 
            selected from the input sequence
            </returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.ToDictionary``3(System.Linq.IParallelEnumerable{``0},System.Func{``0,``1},System.Func{``0,``2},System.Collections.Generic.IEqualityComparer{``1})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.ToDictionary().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <typeparam name="TKey">The type of the key returned by <B>keySelector</B>.</typeparam>
            <typeparam name="TElement">The type of the value returned by <B>elementSelector</B>.</typeparam>
            <param name="source">A sequence to create a Dictionary&lt;(Of &lt;(TKey, TValue&gt;)&gt;) from.</param>
            <param name="keySelector">A function to extract a key from each element.</param>
            <param name="elementSelector"
            >A transform function to produce a result element value from each element.
            </param>
            <param name="comparer">An IEqualityComparer&lt;(Of &lt;(T&gt;)&gt;) to compare keys.</param>
            <returns>
            A Dictionary&lt;(Of &lt;(TKey, TValue&gt;)&gt;) that contains values of type <B>TElement</B> 
            selected from the input sequence
            </returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.ToLookup``2(System.Linq.IParallelEnumerable{``0},System.Func{``0,``1})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.ToLookup().
            </summary>
            <typeparam name="TSource">The type of elements of <B>source</B>.</typeparam>
            <typeparam name="TKey">The type of the key returned by <B>keySelector</B>.</typeparam>
            <param name="source">The sequence to create a Lookup&lt;(Of &lt;(TKey, TElement&gt;)&gt;) from.</param>
            <param name="keySelector">A function to extract a key from each element.</param>
            <returns>A Lookup&lt;(Of &lt;(TKey, TElement&gt;)&gt;) that contains keys and values.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.ToLookup``2(System.Linq.IParallelEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.ToLookup().
            </summary>
            <typeparam name="TSource">The type of elements of <B>source</B>.</typeparam>
            <typeparam name="TKey">The type of the key returned by <B>keySelector</B>.</typeparam>
            <param name="source">The sequence to create a Lookup&lt;(Of &lt;(TKey, TElement&gt;)&gt;) from.</param>
            <param name="keySelector">A function to extract a key from each element.</param>
            <param name="comparer">An IEqualityComparer&lt;(Of &lt;(T&gt;)&gt;) to compare keys.</param>
            <returns>A Lookup&lt;(Of &lt;(TKey, TElement&gt;)&gt;) that contains keys and values.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.ToLookup``3(System.Linq.IParallelEnumerable{``0},System.Func{``0,``1},System.Func{``0,``2})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.ToLookup().
            </summary>
            <typeparam name="TSource">The type of elements of <B>source</B>.</typeparam>
            <typeparam name="TKey">The type of the key returned by <B>keySelector</B>.</typeparam>
            <typeparam name="TElement">The type of the value returned by <B>elementSelector</B>.</typeparam>
            <param name="source">The sequence to create a Lookup&lt;(Of &lt;(TKey, TElement&gt;)&gt;) from.</param>
            <param name="keySelector">A function to extract a key from each element.</param>
            <param name="elementSelector">
            A transform function to produce a result element value from each element.
            </param>
            <returns>
            A Lookup&lt;(Of &lt;(TKey, TElement&gt;)&gt;) that contains values of type TElement 
            selected from the input sequence.
            </returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.ToLookup``3(System.Linq.IParallelEnumerable{``0},System.Func{``0,``1},System.Func{``0,``2},System.Collections.Generic.IEqualityComparer{``1})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.ToLookup().
            </summary>
            <typeparam name="TSource">The type of elements of <B>source</B>.</typeparam>
            <typeparam name="TKey">The type of the key returned by <B>keySelector</B>.</typeparam>
            <typeparam name="TElement">The type of the value returned by <B>elementSelector</B>.</typeparam>
            <param name="source">The sequence to create a Lookup&lt;(Of &lt;(TKey, TElement&gt;)&gt;) from.</param>
            <param name="keySelector">A function to extract a key from each element.</param>
            <param name="elementSelector">
            A transform function to produce a result element value from each element.
            </param>
            <param name="comparer">An IEqualityComparer&lt;(Of &lt;(T&gt;)&gt;) to compare keys.</param>
            <returns>
            A Lookup&lt;(Of &lt;(TKey, TElement&gt;)&gt;) that contains values of type TElement selected 
            from the input sequence.
            </returns>        
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Reverse``1(System.Linq.IParallelEnumerable{``0})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Reverse().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <param name="source">A sequence of values to reverse.</param>
            <returns>A sequence whose elements correspond to those of the input sequence in reverse order.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.OfType``1(System.Linq.IParallelEnumerable{System.Object})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.OfType(), but differs in the
            parameters. This is a temporary method for this release.
            </summary>
            <typeparam name="TResult">The type to filter the elements of the sequence on.</typeparam>
            <param name="source">The sequence whose elements to filter.</param>
            <returns>A sequence that contains elements from the input sequence of type <B>TResult</B>.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Cast``1(System.Linq.IParallelEnumerable{System.Object})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Cast(), but differs in the
            parameters. This is a temporary method for this release.
            </summary>
            <typeparam name="TResult">The type to convert the elements of <B>source</B> to.</typeparam>
            <param name="source">The sequence that contains the elements to be converted.</param>
            <returns>
            A sequence that contains each element of the source sequence converted to the specified type.
            </returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.First``1(System.Linq.IParallelEnumerable{``0})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.First().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <param name="source">The sequence to return the first element of.</param>
            <returns>The first element in the specified sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.First``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Boolean})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.First().
            </summary>
            <remarks>There's a temporary difference from LINQ to Objects, this does not throw
            ArgumentNullException when the predicate is null.</remarks>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <param name="source">The sequence to return an element from.</param>
            <param name="predicate">A function to test each element for a condition.</param>
            <returns>The first element in the sequence that passes the test in the specified predicate function.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.FirstOrDefault``1(System.Linq.IParallelEnumerable{``0})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.FirstOrDefault().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <param name="source">The sequence to return the first element of.</param>
            <returns>
            default(<B>TSource</B>) if <B>source</B> is empty; otherwise, the first element in <B>source</B>.
            </returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.FirstOrDefault``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Boolean})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.FirstOrDefault().
            </summary>
            <remarks>There's a temporary difference from LINQ to Objects, this does not throw
            ArgumentNullException when the predicate is null.</remarks>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <param name="source">The sequence to return an element from.</param>
            <param name="predicate">A function to test each element for a condition.</param>
            <returns>
            default(<B>TSource</B>) if <B>source</B> is empty or if no element passes the test 
            specified by <B>predicate</B>; otherwise, the first element in <B>source</B> that 
            passes the test specified by <B>predicate</B>.
            </returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Last``1(System.Linq.IParallelEnumerable{``0})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Last().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <param name="source">The sequence to return the last element from.</param>
            <returns>The value at the last position in the source sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Last``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Boolean})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Last().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <param name="source">The sequence to return an element from.</param>
            <param name="predicate">A function to test each element for a condition.</param>
            <returns>
            The last element in the sequence that passes the test in the specified predicate function.
            </returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.LastOrDefault``1(System.Linq.IParallelEnumerable{``0})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.LastOrDefault().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <param name="source">The sequence to return an element from.</param>
            <returns>
            default(<B>TSource</B>) if the source sequence is empty; otherwise, the last element in the sequence.
            </returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.LastOrDefault``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Boolean})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.LastOrDefault().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <param name="source">The sequence to return an element from.</param>
            <param name="predicate">A function to test each element for a condition.</param>
            <returns>
            default(<B>TSource</B>) if the sequence is empty or if no elements pass the test in the 
            predicate function; otherwise, the last element that passes the test in the predicate function.
            </returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Single``1(System.Linq.IParallelEnumerable{``0})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Single().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <param name="source">The sequence to return the single element of.</param>
            <returns>The single element of the input sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.Single``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Boolean})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.Single().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <param name="source">The sequence to return the single element of.</param>
            <param name="predicate">A function to test an element for a condition.</param>
            <returns>The single element of the input sequence that satisfies a condition.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.SingleOrDefault``1(System.Linq.IParallelEnumerable{``0})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.SingleOrDefault().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <param name="source">The sequence to return the single element of.</param>
            <returns>
            The single element of the input sequence, or default(<B>TSource</B>) if the 
            sequence contains no elements.
            </returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.SingleOrDefault``1(System.Linq.IParallelEnumerable{``0},System.Func{``0,System.Boolean})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.SingleOrDefault().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <param name="source">The sequence to return the single element of.</param>
            <param name="predicate">A function to test an element for a condition.</param>
            <returns>
            The single element of the input sequence that satisfies the condition, or 
            default(<B>TSource</B>) if no such element is found.
            </returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.DefaultIfEmpty``1(System.Linq.IParallelEnumerable{``0})">
            <summary>
            Parallel implementation of System.Linq.Enumerable.DefaultIfEmpty().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <param name="source">The sequence to return a default value for if it is empty.</param>
            <returns>
            A sequence that contains default(<B>TSource</B>) if <B>source</B> is empty; otherwise, <B>source</B>.
            </returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.DefaultIfEmpty``1(System.Linq.IParallelEnumerable{``0},``0)">
            <summary>
            Parallel implementation of System.Linq.Enumerable.DefaultIfEmpty().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <param name="source">The sequence to return the specified value for if it is empty.</param>
            <param name="defaultValue">The value to return if the sequence is empty.</param>
            <returns>
            A sequence that contains <B>defaultValue</B> if <B>source</B> is empty; otherwise, <B>source</B>.
            </returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.ElementAt``1(System.Linq.IParallelEnumerable{``0},System.Int32)">
            <summary>
            Parallel implementation of System.Linq.Enumerable.ElementAt().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <param name="source">A sequence to return an element from.</param>
            <param name="index">The zero-based index of the element to retrieve.</param>
            <returns>The element at the specified position in the source sequence.</returns>
        </member>
        <member name="M:System.Linq.ParallelEnumerable.ElementAtOrDefault``1(System.Linq.IParallelEnumerable{``0},System.Int32)">
            <summary>
            Parallel implementation of System.Linq.Enumerable.ElementAtOrDefault().
            </summary>
            <typeparam name="TSource">The type of the elements of <B>source</B>.</typeparam>
            <param name="source">A sequence to return an element from.</param>
            <param name="index">The zero-based index of the element to retrieve.</param>
            <returns>
            default(<B>TSource</B>) if the index is outside the bounds of the source sequence; 
            otherwise, the element at the specified position in the source sequence.
            </returns>
        </member>
    </members>
</doc>
